// Lean compiler output
// Module: Lean.Meta.Tactic.Grind.Arith.Linear.StructId
// Imports: public import Lean.Meta.Tactic.Grind.Types import Lean.Meta.Tactic.Grind.Simp import Lean.Meta.Tactic.Grind.OrderInsts import Lean.Meta.Tactic.Grind.Arith.Cutsat.ToInt import Lean.Meta.Tactic.Grind.Arith.CommRing.RingId import Lean.Meta.Tactic.Grind.Arith.Linear.Util import Lean.Meta.Tactic.Grind.Arith.Linear.Var import Lean.Meta.Tactic.Grind.Arith.Insts import Init.Grind.Module.Envelope
#include <lean/lean.h>
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wunused-parameter"
#pragma clang diagnostic ignored "-Wunused-label"
#elif defined(__GNUC__) && !defined(__CLANG__)
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-label"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#endif
#ifdef __cplusplus
extern "C" {
#endif
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__41;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__4;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__53;
lean_object* l_Lean_Meta_Grind_synthInstanceMeta_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeFn___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_shift_right(size_t, size_t);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__58;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatFn_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isNonTrivialIsCharInst(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg(lean_object*, lean_object*, size_t, size_t);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___lam__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Grind_Arith_Linear_linearExt;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__57;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__20;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_usize_dec_le(size_t, size_t);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__0;
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg___boxed(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__5;
size_t lean_uint64_to_usize(uint64_t);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg___boxed(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__2;
lean_object* l_Lean_Level_succ___override(lean_object*);
lean_object* l_Lean_Meta_Grind_reportIssue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_mul(size_t, size_t);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg(lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__3;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__2;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__1;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__7;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0(lean_object*, lean_object*, lean_object*, size_t, size_t);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__0;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__0;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget_borrowed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_getDecLevel_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__5;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isNonTrivialIsCharInst___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__66;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__9;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__1;
lean_object* l_Lean_Meta_Grind_getConfig___redArg(lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_mkVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0(lean_object*, lean_object*, size_t, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__7;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__0;
lean_object* l_Lean_Meta_getDecLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45;
lean_object* l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__50;
lean_object* l_Lean_Level_ofNat(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__5;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__3;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__25;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15;
lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__16;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35;
size_t lean_usize_of_nat(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___redArg(size_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0(lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__9;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getCommRingInst_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__60;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__46;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__10;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__49;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__56;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_to_int(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___redArg(lean_object*, size_t, lean_object*);
lean_object* l_Lean_Meta_Grind_isDefEqD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__12;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__8;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___lam__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43;
lean_object* lean_st_ref_get(lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__2;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28;
lean_object* l_Lean_Meta_Grind_Arith_Cutsat_isSupportedType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__61;
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg(lean_object*, lean_object*, size_t, size_t);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__6;
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
lean_object* l_Lean_instInhabitedPersistentArray_default(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__37;
lean_object* l_Lean_PersistentArray_push___redArg(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39;
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__14;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_mkIsPreorderInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__51;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__11;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_mkLawfulOrderLTInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__55;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0(lean_object*, lean_object*, lean_object*, size_t, size_t);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22;
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3;
lean_object* l_Lean_Meta_Grind_Arith_CommRing_getCommRingId_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__19;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___lam__0(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__13;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__3;
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getCommRingInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_usize_to_nat(size_t);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__6;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg(lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__23;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__2;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__1;
uint8_t l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_mkIsPartialOrderInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__3;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__3;
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___redArg(lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__15;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatFn_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__34;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__52;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkCollisionNode___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__0;
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
extern lean_object* l_Lean_Int_mkType;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__12;
lean_object* l_Lean_mkRawNatLit(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocessConst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__62;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_indentExpr(lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__10;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__1;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__27;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__8;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_getIsCharInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__1;
lean_object* lean_nat_sub(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Nat_mkType;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkNumeral(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_mkIsLinearOrderInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_sub(size_t, size_t);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
lean_object* l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__18;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_add(size_t, size_t);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__59;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___lam__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__48;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__54;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr1(lean_object*);
lean_object* l_Lean_Meta_Grind_shareCommon___redArg(lean_object*, lean_object*);
size_t lean_usize_shift_left(size_t, size_t);
lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__13;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocessConst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__2;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__21;
lean_object* lean_grind_canon(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
lean_object* lean_int_neg(lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__3;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__1;
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_mkApp5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__4;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f___lam__0(lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__2;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__6;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__29;
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0(lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__14;
uint64_t l_Lean_Meta_Grind_hashPtrExpr_unsafe__1(lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__11;
lean_object* l_Lean_Meta_Grind_Arith_CommRing_RingM_getCommRing(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__64;
lean_object* l_Lean_Meta_Grind_synthInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_grind_internalize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_land(size_t, size_t);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__0;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__3;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__4;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; 
lean_inc(x_5);
x_11 = lean_grind_canon(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12; lean_object* x_13; 
x_12 = lean_ctor_get(x_11, 0);
lean_inc(x_12);
lean_dec_ref(x_11);
x_13 = l_Lean_Meta_Grind_shareCommon___redArg(x_12, x_5);
lean_dec(x_5);
return x_13;
}
else
{
lean_dec(x_5);
return x_11;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeFn(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeFn(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocessConst(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; 
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; 
x_12 = lean_ctor_get(x_11, 0);
lean_inc(x_12);
lean_dec_ref(x_11);
x_13 = lean_unsigned_to_nat(0u);
x_14 = lean_box(0);
lean_inc(x_12);
x_15 = lean_grind_internalize(x_12, x_13, x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_15) == 0)
{
uint8_t x_16; 
x_16 = !lean_is_exclusive(x_15);
if (x_16 == 0)
{
lean_object* x_17; 
x_17 = lean_ctor_get(x_15, 0);
lean_dec(x_17);
lean_ctor_set(x_15, 0, x_12);
return x_15;
}
else
{
lean_object* x_18; 
lean_dec(x_15);
x_18 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_18, 0, x_12);
return x_18;
}
}
else
{
uint8_t x_19; 
lean_dec(x_12);
x_19 = !lean_is_exclusive(x_15);
if (x_19 == 0)
{
return x_15;
}
else
{
lean_object* x_20; lean_object* x_21; 
x_20 = lean_ctor_get(x_15, 0);
lean_inc(x_20);
lean_dec(x_15);
x_21 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_21, 0, x_20);
return x_21;
}
}
}
else
{
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
return x_11;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocessConst___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocessConst(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; 
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_11 = lean_grind_canon(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12; lean_object* x_13; 
x_12 = lean_ctor_get(x_11, 0);
lean_inc(x_12);
lean_dec_ref(x_11);
x_13 = l_Lean_Meta_Grind_shareCommon___redArg(x_12, x_5);
if (lean_obj_tag(x_13) == 0)
{
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; 
x_14 = lean_ctor_get(x_13, 0);
lean_inc(x_14);
lean_dec_ref(x_13);
x_15 = lean_unsigned_to_nat(0u);
x_16 = lean_box(0);
lean_inc(x_14);
x_17 = lean_grind_internalize(x_14, x_15, x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_17) == 0)
{
uint8_t x_18; 
x_18 = !lean_is_exclusive(x_17);
if (x_18 == 0)
{
lean_object* x_19; 
x_19 = lean_ctor_get(x_17, 0);
lean_dec(x_19);
lean_ctor_set(x_17, 0, x_14);
return x_17;
}
else
{
lean_object* x_20; 
lean_dec(x_17);
x_20 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_20, 0, x_14);
return x_20;
}
}
else
{
uint8_t x_21; 
lean_dec(x_14);
x_21 = !lean_is_exclusive(x_17);
if (x_21 == 0)
{
return x_17;
}
else
{
lean_object* x_22; lean_object* x_23; 
x_22 = lean_ctor_get(x_17, 0);
lean_inc(x_22);
lean_dec(x_17);
x_23 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_23, 0, x_22);
return x_23;
}
}
}
else
{
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
return x_13;
}
}
else
{
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
return x_11;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("`grind linarith` expected", 25, 25);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__0;
x_2 = l_Lean_stringToMessageData(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("\nto be definitionally equal to", 30, 30);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__2;
x_2 = l_Lean_stringToMessageData(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; 
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__1;
x_5 = l_Lean_indentExpr(x_1);
x_6 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_6, 0, x_4);
lean_ctor_set(x_6, 1, x_5);
x_7 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__3;
x_8 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_8, 0, x_6);
lean_ctor_set(x_8, 1, x_7);
x_9 = l_Lean_indentExpr(x_2);
x_10 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_10, 0, x_8);
lean_ctor_set(x_10, 1, x_9);
x_11 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_11, 0, x_10);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_8; 
x_8 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(x_1, x_2);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8; 
x_8 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; 
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(x_1, x_2);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; 
x_7 = lean_st_ref_get(x_5);
x_8 = lean_ctor_get(x_7, 0);
lean_inc_ref(x_8);
lean_dec(x_7);
x_9 = lean_st_ref_get(x_3);
x_10 = lean_ctor_get(x_9, 0);
lean_inc_ref(x_10);
lean_dec(x_9);
x_11 = lean_ctor_get(x_2, 2);
x_12 = lean_ctor_get(x_4, 2);
lean_inc(x_12);
lean_inc_ref(x_11);
x_13 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_13, 0, x_8);
lean_ctor_set(x_13, 1, x_10);
lean_ctor_set(x_13, 2, x_11);
lean_ctor_set(x_13, 3, x_12);
x_14 = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(x_14, 0, x_13);
lean_ctor_set(x_14, 1, x_1);
x_15 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_15, 0, x_14);
return x_15;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_7; lean_object* x_8; uint8_t x_9; 
x_7 = lean_ctor_get(x_4, 5);
x_8 = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5);
x_9 = !lean_is_exclusive(x_8);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; 
x_10 = lean_ctor_get(x_8, 0);
lean_inc(x_7);
x_11 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_11, 0, x_7);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_tag(x_8, 1);
lean_ctor_set(x_8, 0, x_11);
return x_8;
}
else
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; 
x_12 = lean_ctor_get(x_8, 0);
lean_inc(x_12);
lean_dec(x_8);
lean_inc(x_7);
x_13 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_13, 0, x_7);
lean_ctor_set(x_13, 1, x_12);
x_14 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_14, 0, x_13);
return x_14;
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_8; 
x_8 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___redArg(x_2, x_3, x_4, x_5, x_6);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_8; 
lean_inc(x_6);
lean_inc_ref(x_5);
lean_inc(x_4);
lean_inc_ref(x_3);
lean_inc_ref(x_2);
lean_inc_ref(x_1);
x_8 = l_Lean_Meta_Grind_isDefEqD(x_1, x_2, x_3, x_4, x_5, x_6);
if (lean_obj_tag(x_8) == 0)
{
uint8_t x_9; 
x_9 = !lean_is_exclusive(x_8);
if (x_9 == 0)
{
lean_object* x_10; uint8_t x_11; 
x_10 = lean_ctor_get(x_8, 0);
x_11 = lean_unbox(x_10);
lean_dec(x_10);
if (x_11 == 0)
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; 
lean_free_object(x_8);
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(x_1, x_2);
x_13 = lean_ctor_get(x_12, 0);
lean_inc(x_13);
lean_dec_ref(x_12);
x_14 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___redArg(x_13, x_3, x_4, x_5, x_6);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
return x_14;
}
else
{
lean_object* x_15; 
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_15 = lean_box(0);
lean_ctor_set(x_8, 0, x_15);
return x_8;
}
}
else
{
lean_object* x_16; uint8_t x_17; 
x_16 = lean_ctor_get(x_8, 0);
lean_inc(x_16);
lean_dec(x_8);
x_17 = lean_unbox(x_16);
lean_dec(x_16);
if (x_17 == 0)
{
lean_object* x_18; lean_object* x_19; lean_object* x_20; 
x_18 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(x_1, x_2);
x_19 = lean_ctor_get(x_18, 0);
lean_inc(x_19);
lean_dec_ref(x_18);
x_20 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___redArg(x_19, x_3, x_4, x_5, x_6);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
return x_20;
}
else
{
lean_object* x_21; lean_object* x_22; 
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_21 = lean_box(0);
x_22 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_22, 0, x_21);
return x_22;
}
}
}
else
{
uint8_t x_23; 
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
x_23 = !lean_is_exclusive(x_8);
if (x_23 == 0)
{
return x_8;
}
else
{
lean_object* x_24; lean_object* x_25; 
x_24 = lean_ctor_get(x_8, 0);
lean_inc(x_24);
lean_dec(x_8);
x_25 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_25, 0, x_24);
return x_25;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8; 
x_8 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
return x_8;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; 
x_7 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0___redArg(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
return x_7;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8; 
x_8 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(x_1, x_2, x_3, x_4, x_5, x_6);
return x_8;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; 
x_7 = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) {
_start:
{
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_5; size_t x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; 
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_usize_shift_right(x_3, x_4);
x_7 = lean_usize_to_nat(x_6);
x_8 = lean_array_get_size(x_5);
x_9 = lean_nat_dec_lt(x_7, x_8);
lean_dec(x_8);
if (x_9 == 0)
{
lean_dec(x_7);
lean_dec(x_1);
return x_2;
}
else
{
uint8_t x_10; 
lean_inc_ref(x_5);
x_10 = !lean_is_exclusive(x_2);
if (x_10 == 0)
{
lean_object* x_11; size_t x_12; size_t x_13; size_t x_14; size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; 
x_11 = lean_ctor_get(x_2, 0);
lean_dec(x_11);
x_12 = 1;
x_13 = lean_usize_shift_left(x_12, x_4);
x_14 = lean_usize_sub(x_13, x_12);
x_15 = lean_usize_land(x_3, x_14);
x_16 = 5;
x_17 = lean_usize_sub(x_4, x_16);
x_18 = lean_array_fget(x_5, x_7);
x_19 = lean_box(0);
x_20 = lean_array_fset(x_5, x_7, x_19);
x_21 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg(x_1, x_18, x_15, x_17);
x_22 = lean_array_fset(x_20, x_7, x_21);
lean_dec(x_7);
lean_ctor_set(x_2, 0, x_22);
return x_2;
}
else
{
size_t x_23; size_t x_24; size_t x_25; size_t x_26; size_t x_27; size_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; 
lean_dec(x_2);
x_23 = 1;
x_24 = lean_usize_shift_left(x_23, x_4);
x_25 = lean_usize_sub(x_24, x_23);
x_26 = lean_usize_land(x_3, x_25);
x_27 = 5;
x_28 = lean_usize_sub(x_4, x_27);
x_29 = lean_array_fget(x_5, x_7);
x_30 = lean_box(0);
x_31 = lean_array_fset(x_5, x_7, x_30);
x_32 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg(x_1, x_29, x_26, x_28);
x_33 = lean_array_fset(x_31, x_7, x_32);
lean_dec(x_7);
x_34 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_34, 0, x_33);
return x_34;
}
}
}
else
{
lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; 
x_35 = lean_ctor_get(x_2, 0);
x_36 = lean_usize_to_nat(x_3);
x_37 = lean_array_get_size(x_35);
x_38 = lean_nat_dec_lt(x_36, x_37);
lean_dec(x_37);
if (x_38 == 0)
{
lean_dec(x_36);
lean_dec(x_1);
return x_2;
}
else
{
uint8_t x_39; 
lean_inc_ref(x_35);
x_39 = !lean_is_exclusive(x_2);
if (x_39 == 0)
{
lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; 
x_40 = lean_ctor_get(x_2, 0);
lean_dec(x_40);
x_41 = lean_array_fget(x_35, x_36);
x_42 = lean_box(0);
x_43 = lean_array_fset(x_35, x_36, x_42);
x_44 = lean_box(9);
x_45 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_45, 0, x_1);
lean_ctor_set(x_45, 1, x_44);
lean_ctor_set_uint8(x_45, sizeof(void*)*2, x_38);
x_46 = l_Lean_PersistentArray_push___redArg(x_41, x_45);
x_47 = lean_array_fset(x_43, x_36, x_46);
lean_dec(x_36);
lean_ctor_set(x_2, 0, x_47);
return x_2;
}
else
{
lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; 
lean_dec(x_2);
x_48 = lean_array_fget(x_35, x_36);
x_49 = lean_box(0);
x_50 = lean_array_fset(x_35, x_36, x_49);
x_51 = lean_box(9);
x_52 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_52, 0, x_1);
lean_ctor_set(x_52, 1, x_51);
lean_ctor_set_uint8(x_52, sizeof(void*)*2, x_38);
x_53 = l_Lean_PersistentArray_push___redArg(x_48, x_52);
x_54 = lean_array_fset(x_50, x_36, x_53);
lean_dec(x_36);
x_55 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_55, 0, x_54);
return x_55;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5) {
_start:
{
lean_object* x_6; 
x_6 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg(x_1, x_3, x_4, x_5);
return x_6;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = l_Lean_instInhabitedPersistentArray_default(lean_box(0));
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = lean_unsigned_to_nat(1u);
x_2 = lean_nat_to_int(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__1;
x_2 = lean_int_neg(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5; 
x_5 = !lean_is_exclusive(x_3);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7; size_t x_8; lean_object* x_9; uint8_t x_10; 
x_6 = lean_ctor_get(x_3, 0);
x_7 = lean_ctor_get(x_3, 1);
x_8 = lean_ctor_get_usize(x_3, 4);
x_9 = lean_ctor_get(x_3, 3);
x_10 = lean_nat_dec_le(x_9, x_4);
if (x_10 == 0)
{
size_t x_11; lean_object* x_12; 
x_11 = lean_usize_of_nat(x_4);
x_12 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg(x_1, x_6, x_11, x_8);
lean_ctor_set(x_3, 0, x_12);
return x_3;
}
else
{
lean_object* x_13; lean_object* x_14; uint8_t x_15; 
x_13 = lean_nat_sub(x_4, x_9);
x_14 = lean_array_get_size(x_7);
x_15 = lean_nat_dec_lt(x_13, x_14);
lean_dec(x_14);
if (x_15 == 0)
{
lean_dec(x_13);
lean_dec(x_1);
return x_3;
}
else
{
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; 
x_16 = lean_array_fget(x_7, x_13);
x_17 = lean_box(0);
x_18 = lean_array_fset(x_7, x_13, x_17);
x_19 = lean_box(9);
x_20 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_20, 0, x_1);
lean_ctor_set(x_20, 1, x_19);
lean_ctor_set_uint8(x_20, sizeof(void*)*2, x_15);
x_21 = l_Lean_PersistentArray_push___redArg(x_16, x_20);
x_22 = lean_array_fset(x_18, x_13, x_21);
lean_dec(x_13);
lean_ctor_set(x_3, 1, x_22);
return x_3;
}
}
}
else
{
lean_object* x_23; lean_object* x_24; lean_object* x_25; size_t x_26; lean_object* x_27; uint8_t x_28; 
x_23 = lean_ctor_get(x_3, 0);
x_24 = lean_ctor_get(x_3, 1);
x_25 = lean_ctor_get(x_3, 2);
x_26 = lean_ctor_get_usize(x_3, 4);
x_27 = lean_ctor_get(x_3, 3);
lean_inc(x_27);
lean_inc(x_25);
lean_inc(x_24);
lean_inc(x_23);
lean_dec(x_3);
x_28 = lean_nat_dec_le(x_27, x_4);
if (x_28 == 0)
{
size_t x_29; lean_object* x_30; lean_object* x_31; 
x_29 = lean_usize_of_nat(x_4);
x_30 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg(x_1, x_23, x_29, x_26);
x_31 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(x_31, 0, x_30);
lean_ctor_set(x_31, 1, x_24);
lean_ctor_set(x_31, 2, x_25);
lean_ctor_set(x_31, 3, x_27);
lean_ctor_set_usize(x_31, 4, x_26);
return x_31;
}
else
{
lean_object* x_32; lean_object* x_33; uint8_t x_34; 
x_32 = lean_nat_sub(x_4, x_27);
x_33 = lean_array_get_size(x_24);
x_34 = lean_nat_dec_lt(x_32, x_33);
lean_dec(x_33);
if (x_34 == 0)
{
lean_object* x_35; 
lean_dec(x_32);
lean_dec(x_1);
x_35 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(x_35, 0, x_23);
lean_ctor_set(x_35, 1, x_24);
lean_ctor_set(x_35, 2, x_25);
lean_ctor_set(x_35, 3, x_27);
lean_ctor_set_usize(x_35, 4, x_26);
return x_35;
}
else
{
lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; 
x_36 = lean_array_fget(x_24, x_32);
x_37 = lean_box(0);
x_38 = lean_array_fset(x_24, x_32, x_37);
x_39 = lean_box(9);
x_40 = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(x_40, 0, x_1);
lean_ctor_set(x_40, 1, x_39);
lean_ctor_set_uint8(x_40, sizeof(void*)*2, x_34);
x_41 = l_Lean_PersistentArray_push___redArg(x_36, x_40);
x_42 = lean_array_fset(x_38, x_32, x_41);
lean_dec(x_32);
x_43 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(x_43, 0, x_23);
lean_ctor_set(x_43, 1, x_42);
lean_ctor_set(x_43, 2, x_25);
lean_ctor_set(x_43, 3, x_27);
lean_ctor_set_usize(x_43, 4, x_26);
return x_43;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; 
x_6 = lean_ctor_get(x_5, 0);
x_7 = lean_ctor_get(x_5, 1);
x_8 = lean_ctor_get(x_5, 2);
x_9 = lean_ctor_get(x_5, 3);
x_10 = lean_ctor_get(x_5, 4);
x_11 = lean_ctor_get(x_5, 5);
x_12 = lean_ctor_get(x_5, 6);
x_13 = lean_ctor_get(x_5, 7);
x_14 = lean_array_get_size(x_6);
x_15 = lean_nat_dec_lt(x_1, x_14);
lean_dec(x_14);
if (x_15 == 0)
{
lean_dec(x_2);
return x_5;
}
else
{
uint8_t x_16; 
lean_inc_ref(x_13);
lean_inc_ref(x_12);
lean_inc_ref(x_11);
lean_inc_ref(x_10);
lean_inc_ref(x_9);
lean_inc_ref(x_8);
lean_inc_ref(x_7);
lean_inc_ref(x_6);
x_16 = !lean_is_exclusive(x_5);
if (x_16 == 0)
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; 
x_17 = lean_ctor_get(x_5, 7);
lean_dec(x_17);
x_18 = lean_ctor_get(x_5, 6);
lean_dec(x_18);
x_19 = lean_ctor_get(x_5, 5);
lean_dec(x_19);
x_20 = lean_ctor_get(x_5, 4);
lean_dec(x_20);
x_21 = lean_ctor_get(x_5, 3);
lean_dec(x_21);
x_22 = lean_ctor_get(x_5, 2);
lean_dec(x_22);
x_23 = lean_ctor_get(x_5, 1);
lean_dec(x_23);
x_24 = lean_ctor_get(x_5, 0);
lean_dec(x_24);
x_25 = lean_array_fget(x_6, x_1);
x_26 = !lean_is_exclusive(x_25);
if (x_26 == 0)
{
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; 
x_27 = lean_ctor_get(x_25, 32);
x_28 = lean_box(0);
x_29 = lean_array_fset(x_6, x_1, x_28);
x_30 = l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0(x_2, x_3, x_27, x_4);
lean_ctor_set(x_25, 32, x_30);
x_31 = lean_array_fset(x_29, x_1, x_25);
lean_ctor_set(x_5, 0, x_31);
return x_5;
}
else
{
lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; 
x_32 = lean_ctor_get(x_25, 0);
x_33 = lean_ctor_get(x_25, 1);
x_34 = lean_ctor_get(x_25, 2);
x_35 = lean_ctor_get(x_25, 3);
x_36 = lean_ctor_get(x_25, 4);
x_37 = lean_ctor_get(x_25, 5);
x_38 = lean_ctor_get(x_25, 6);
x_39 = lean_ctor_get(x_25, 7);
x_40 = lean_ctor_get(x_25, 8);
x_41 = lean_ctor_get(x_25, 9);
x_42 = lean_ctor_get(x_25, 10);
x_43 = lean_ctor_get(x_25, 11);
x_44 = lean_ctor_get(x_25, 12);
x_45 = lean_ctor_get(x_25, 13);
x_46 = lean_ctor_get(x_25, 14);
x_47 = lean_ctor_get(x_25, 15);
x_48 = lean_ctor_get(x_25, 16);
x_49 = lean_ctor_get(x_25, 17);
x_50 = lean_ctor_get(x_25, 18);
x_51 = lean_ctor_get(x_25, 19);
x_52 = lean_ctor_get(x_25, 20);
x_53 = lean_ctor_get(x_25, 21);
x_54 = lean_ctor_get(x_25, 22);
x_55 = lean_ctor_get(x_25, 23);
x_56 = lean_ctor_get(x_25, 24);
x_57 = lean_ctor_get(x_25, 25);
x_58 = lean_ctor_get(x_25, 26);
x_59 = lean_ctor_get(x_25, 27);
x_60 = lean_ctor_get(x_25, 28);
x_61 = lean_ctor_get(x_25, 29);
x_62 = lean_ctor_get(x_25, 30);
x_63 = lean_ctor_get(x_25, 31);
x_64 = lean_ctor_get(x_25, 32);
x_65 = lean_ctor_get(x_25, 33);
x_66 = lean_ctor_get(x_25, 34);
x_67 = lean_ctor_get(x_25, 35);
x_68 = lean_ctor_get_uint8(x_25, sizeof(void*)*42);
x_69 = lean_ctor_get(x_25, 36);
x_70 = lean_ctor_get(x_25, 37);
x_71 = lean_ctor_get(x_25, 38);
x_72 = lean_ctor_get(x_25, 39);
x_73 = lean_ctor_get(x_25, 40);
x_74 = lean_ctor_get(x_25, 41);
lean_inc(x_74);
lean_inc(x_73);
lean_inc(x_72);
lean_inc(x_71);
lean_inc(x_70);
lean_inc(x_69);
lean_inc(x_67);
lean_inc(x_66);
lean_inc(x_65);
lean_inc(x_64);
lean_inc(x_63);
lean_inc(x_62);
lean_inc(x_61);
lean_inc(x_60);
lean_inc(x_59);
lean_inc(x_58);
lean_inc(x_57);
lean_inc(x_56);
lean_inc(x_55);
lean_inc(x_54);
lean_inc(x_53);
lean_inc(x_52);
lean_inc(x_51);
lean_inc(x_50);
lean_inc(x_49);
lean_inc(x_48);
lean_inc(x_47);
lean_inc(x_46);
lean_inc(x_45);
lean_inc(x_44);
lean_inc(x_43);
lean_inc(x_42);
lean_inc(x_41);
lean_inc(x_40);
lean_inc(x_39);
lean_inc(x_38);
lean_inc(x_37);
lean_inc(x_36);
lean_inc(x_35);
lean_inc(x_34);
lean_inc(x_33);
lean_inc(x_32);
lean_dec(x_25);
x_75 = lean_box(0);
x_76 = lean_array_fset(x_6, x_1, x_75);
x_77 = l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0(x_2, x_3, x_64, x_4);
x_78 = lean_alloc_ctor(0, 42, 1);
lean_ctor_set(x_78, 0, x_32);
lean_ctor_set(x_78, 1, x_33);
lean_ctor_set(x_78, 2, x_34);
lean_ctor_set(x_78, 3, x_35);
lean_ctor_set(x_78, 4, x_36);
lean_ctor_set(x_78, 5, x_37);
lean_ctor_set(x_78, 6, x_38);
lean_ctor_set(x_78, 7, x_39);
lean_ctor_set(x_78, 8, x_40);
lean_ctor_set(x_78, 9, x_41);
lean_ctor_set(x_78, 10, x_42);
lean_ctor_set(x_78, 11, x_43);
lean_ctor_set(x_78, 12, x_44);
lean_ctor_set(x_78, 13, x_45);
lean_ctor_set(x_78, 14, x_46);
lean_ctor_set(x_78, 15, x_47);
lean_ctor_set(x_78, 16, x_48);
lean_ctor_set(x_78, 17, x_49);
lean_ctor_set(x_78, 18, x_50);
lean_ctor_set(x_78, 19, x_51);
lean_ctor_set(x_78, 20, x_52);
lean_ctor_set(x_78, 21, x_53);
lean_ctor_set(x_78, 22, x_54);
lean_ctor_set(x_78, 23, x_55);
lean_ctor_set(x_78, 24, x_56);
lean_ctor_set(x_78, 25, x_57);
lean_ctor_set(x_78, 26, x_58);
lean_ctor_set(x_78, 27, x_59);
lean_ctor_set(x_78, 28, x_60);
lean_ctor_set(x_78, 29, x_61);
lean_ctor_set(x_78, 30, x_62);
lean_ctor_set(x_78, 31, x_63);
lean_ctor_set(x_78, 32, x_77);
lean_ctor_set(x_78, 33, x_65);
lean_ctor_set(x_78, 34, x_66);
lean_ctor_set(x_78, 35, x_67);
lean_ctor_set(x_78, 36, x_69);
lean_ctor_set(x_78, 37, x_70);
lean_ctor_set(x_78, 38, x_71);
lean_ctor_set(x_78, 39, x_72);
lean_ctor_set(x_78, 40, x_73);
lean_ctor_set(x_78, 41, x_74);
lean_ctor_set_uint8(x_78, sizeof(void*)*42, x_68);
x_79 = lean_array_fset(x_76, x_1, x_78);
lean_ctor_set(x_5, 0, x_79);
return x_5;
}
}
else
{
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; 
lean_dec(x_5);
x_80 = lean_array_fget(x_6, x_1);
x_81 = lean_ctor_get(x_80, 0);
lean_inc(x_81);
x_82 = lean_ctor_get(x_80, 1);
lean_inc(x_82);
x_83 = lean_ctor_get(x_80, 2);
lean_inc_ref(x_83);
x_84 = lean_ctor_get(x_80, 3);
lean_inc(x_84);
x_85 = lean_ctor_get(x_80, 4);
lean_inc_ref(x_85);
x_86 = lean_ctor_get(x_80, 5);
lean_inc(x_86);
x_87 = lean_ctor_get(x_80, 6);
lean_inc(x_87);
x_88 = lean_ctor_get(x_80, 7);
lean_inc(x_88);
x_89 = lean_ctor_get(x_80, 8);
lean_inc(x_89);
x_90 = lean_ctor_get(x_80, 9);
lean_inc(x_90);
x_91 = lean_ctor_get(x_80, 10);
lean_inc(x_91);
x_92 = lean_ctor_get(x_80, 11);
lean_inc(x_92);
x_93 = lean_ctor_get(x_80, 12);
lean_inc(x_93);
x_94 = lean_ctor_get(x_80, 13);
lean_inc(x_94);
x_95 = lean_ctor_get(x_80, 14);
lean_inc(x_95);
x_96 = lean_ctor_get(x_80, 15);
lean_inc(x_96);
x_97 = lean_ctor_get(x_80, 16);
lean_inc(x_97);
x_98 = lean_ctor_get(x_80, 17);
lean_inc_ref(x_98);
x_99 = lean_ctor_get(x_80, 18);
lean_inc_ref(x_99);
x_100 = lean_ctor_get(x_80, 19);
lean_inc(x_100);
x_101 = lean_ctor_get(x_80, 20);
lean_inc(x_101);
x_102 = lean_ctor_get(x_80, 21);
lean_inc(x_102);
x_103 = lean_ctor_get(x_80, 22);
lean_inc_ref(x_103);
x_104 = lean_ctor_get(x_80, 23);
lean_inc_ref(x_104);
x_105 = lean_ctor_get(x_80, 24);
lean_inc_ref(x_105);
x_106 = lean_ctor_get(x_80, 25);
lean_inc(x_106);
x_107 = lean_ctor_get(x_80, 26);
lean_inc(x_107);
x_108 = lean_ctor_get(x_80, 27);
lean_inc(x_108);
x_109 = lean_ctor_get(x_80, 28);
lean_inc_ref(x_109);
x_110 = lean_ctor_get(x_80, 29);
lean_inc_ref(x_110);
x_111 = lean_ctor_get(x_80, 30);
lean_inc_ref(x_111);
x_112 = lean_ctor_get(x_80, 31);
lean_inc_ref(x_112);
x_113 = lean_ctor_get(x_80, 32);
lean_inc_ref(x_113);
x_114 = lean_ctor_get(x_80, 33);
lean_inc_ref(x_114);
x_115 = lean_ctor_get(x_80, 34);
lean_inc_ref(x_115);
x_116 = lean_ctor_get(x_80, 35);
lean_inc_ref(x_116);
x_117 = lean_ctor_get_uint8(x_80, sizeof(void*)*42);
x_118 = lean_ctor_get(x_80, 36);
lean_inc(x_118);
x_119 = lean_ctor_get(x_80, 37);
lean_inc_ref(x_119);
x_120 = lean_ctor_get(x_80, 38);
lean_inc_ref(x_120);
x_121 = lean_ctor_get(x_80, 39);
lean_inc(x_121);
x_122 = lean_ctor_get(x_80, 40);
lean_inc_ref(x_122);
x_123 = lean_ctor_get(x_80, 41);
lean_inc_ref(x_123);
if (lean_is_exclusive(x_80)) {
 lean_ctor_release(x_80, 0);
 lean_ctor_release(x_80, 1);
 lean_ctor_release(x_80, 2);
 lean_ctor_release(x_80, 3);
 lean_ctor_release(x_80, 4);
 lean_ctor_release(x_80, 5);
 lean_ctor_release(x_80, 6);
 lean_ctor_release(x_80, 7);
 lean_ctor_release(x_80, 8);
 lean_ctor_release(x_80, 9);
 lean_ctor_release(x_80, 10);
 lean_ctor_release(x_80, 11);
 lean_ctor_release(x_80, 12);
 lean_ctor_release(x_80, 13);
 lean_ctor_release(x_80, 14);
 lean_ctor_release(x_80, 15);
 lean_ctor_release(x_80, 16);
 lean_ctor_release(x_80, 17);
 lean_ctor_release(x_80, 18);
 lean_ctor_release(x_80, 19);
 lean_ctor_release(x_80, 20);
 lean_ctor_release(x_80, 21);
 lean_ctor_release(x_80, 22);
 lean_ctor_release(x_80, 23);
 lean_ctor_release(x_80, 24);
 lean_ctor_release(x_80, 25);
 lean_ctor_release(x_80, 26);
 lean_ctor_release(x_80, 27);
 lean_ctor_release(x_80, 28);
 lean_ctor_release(x_80, 29);
 lean_ctor_release(x_80, 30);
 lean_ctor_release(x_80, 31);
 lean_ctor_release(x_80, 32);
 lean_ctor_release(x_80, 33);
 lean_ctor_release(x_80, 34);
 lean_ctor_release(x_80, 35);
 lean_ctor_release(x_80, 36);
 lean_ctor_release(x_80, 37);
 lean_ctor_release(x_80, 38);
 lean_ctor_release(x_80, 39);
 lean_ctor_release(x_80, 40);
 lean_ctor_release(x_80, 41);
 x_124 = x_80;
} else {
 lean_dec_ref(x_80);
 x_124 = lean_box(0);
}
x_125 = lean_box(0);
x_126 = lean_array_fset(x_6, x_1, x_125);
x_127 = l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0(x_2, x_3, x_113, x_4);
if (lean_is_scalar(x_124)) {
 x_128 = lean_alloc_ctor(0, 42, 1);
} else {
 x_128 = x_124;
}
lean_ctor_set(x_128, 0, x_81);
lean_ctor_set(x_128, 1, x_82);
lean_ctor_set(x_128, 2, x_83);
lean_ctor_set(x_128, 3, x_84);
lean_ctor_set(x_128, 4, x_85);
lean_ctor_set(x_128, 5, x_86);
lean_ctor_set(x_128, 6, x_87);
lean_ctor_set(x_128, 7, x_88);
lean_ctor_set(x_128, 8, x_89);
lean_ctor_set(x_128, 9, x_90);
lean_ctor_set(x_128, 10, x_91);
lean_ctor_set(x_128, 11, x_92);
lean_ctor_set(x_128, 12, x_93);
lean_ctor_set(x_128, 13, x_94);
lean_ctor_set(x_128, 14, x_95);
lean_ctor_set(x_128, 15, x_96);
lean_ctor_set(x_128, 16, x_97);
lean_ctor_set(x_128, 17, x_98);
lean_ctor_set(x_128, 18, x_99);
lean_ctor_set(x_128, 19, x_100);
lean_ctor_set(x_128, 20, x_101);
lean_ctor_set(x_128, 21, x_102);
lean_ctor_set(x_128, 22, x_103);
lean_ctor_set(x_128, 23, x_104);
lean_ctor_set(x_128, 24, x_105);
lean_ctor_set(x_128, 25, x_106);
lean_ctor_set(x_128, 26, x_107);
lean_ctor_set(x_128, 27, x_108);
lean_ctor_set(x_128, 28, x_109);
lean_ctor_set(x_128, 29, x_110);
lean_ctor_set(x_128, 30, x_111);
lean_ctor_set(x_128, 31, x_112);
lean_ctor_set(x_128, 32, x_127);
lean_ctor_set(x_128, 33, x_114);
lean_ctor_set(x_128, 34, x_115);
lean_ctor_set(x_128, 35, x_116);
lean_ctor_set(x_128, 36, x_118);
lean_ctor_set(x_128, 37, x_119);
lean_ctor_set(x_128, 38, x_120);
lean_ctor_set(x_128, 39, x_121);
lean_ctor_set(x_128, 40, x_122);
lean_ctor_set(x_128, 41, x_123);
lean_ctor_set_uint8(x_128, sizeof(void*)*42, x_117);
x_129 = lean_array_fset(x_126, x_1, x_128);
x_130 = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(x_130, 0, x_129);
lean_ctor_set(x_130, 1, x_7);
lean_ctor_set(x_130, 2, x_8);
lean_ctor_set(x_130, 3, x_9);
lean_ctor_set(x_130, 4, x_10);
lean_ctor_set(x_130, 5, x_11);
lean_ctor_set(x_130, 6, x_12);
lean_ctor_set(x_130, 7, x_13);
return x_130;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___lam__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6; 
x_6 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___lam__0(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
lean_dec(x_1);
return x_6;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3() {
_start:
{
lean_object* x_1; 
x_1 = l_Lean_Meta_Grind_Arith_Linear_linearExt;
return x_1;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; 
x_5 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__0;
x_6 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__2;
x_7 = lean_box(0);
lean_inc(x_1);
x_8 = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(x_8, 0, x_6);
lean_ctor_set(x_8, 1, x_1);
lean_ctor_set(x_8, 2, x_7);
x_9 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___lam__0___boxed), 5, 4);
lean_closure_set(x_9, 0, x_2);
lean_closure_set(x_9, 1, x_8);
lean_closure_set(x_9, 2, x_5);
lean_closure_set(x_9, 3, x_1);
x_10 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_11 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_10, x_9, x_3);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg(x_1, x_2, x_3);
return x_12;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
size_t x_6; size_t x_7; lean_object* x_8; 
x_6 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_7 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_8 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0(x_1, x_2, x_3, x_6, x_7);
lean_dec_ref(x_2);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_12;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; 
x_5 = l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0(x_1, x_2, x_3, x_4);
lean_dec(x_4);
lean_dec_ref(x_2);
return x_5;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; 
x_5 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg(x_1, x_2, x_3);
lean_dec(x_3);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; size_t x_6; lean_object* x_7; 
x_5 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_6 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_7 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne_spec__0_spec__0___redArg(x_1, x_2, x_5, x_6);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) {
_start:
{
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_5; size_t x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; 
x_5 = lean_ctor_get(x_2, 0);
x_6 = lean_usize_shift_right(x_3, x_4);
x_7 = lean_usize_to_nat(x_6);
x_8 = lean_array_get_size(x_5);
x_9 = lean_nat_dec_lt(x_7, x_8);
lean_dec(x_8);
if (x_9 == 0)
{
lean_dec(x_7);
lean_dec(x_1);
return x_2;
}
else
{
uint8_t x_10; 
lean_inc_ref(x_5);
x_10 = !lean_is_exclusive(x_2);
if (x_10 == 0)
{
lean_object* x_11; size_t x_12; size_t x_13; size_t x_14; size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; 
x_11 = lean_ctor_get(x_2, 0);
lean_dec(x_11);
x_12 = 1;
x_13 = lean_usize_shift_left(x_12, x_4);
x_14 = lean_usize_sub(x_13, x_12);
x_15 = lean_usize_land(x_3, x_14);
x_16 = 5;
x_17 = lean_usize_sub(x_4, x_16);
x_18 = lean_array_fget(x_5, x_7);
x_19 = lean_box(0);
x_20 = lean_array_fset(x_5, x_7, x_19);
x_21 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg(x_1, x_18, x_15, x_17);
x_22 = lean_array_fset(x_20, x_7, x_21);
lean_dec(x_7);
lean_ctor_set(x_2, 0, x_22);
return x_2;
}
else
{
size_t x_23; size_t x_24; size_t x_25; size_t x_26; size_t x_27; size_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; 
lean_dec(x_2);
x_23 = 1;
x_24 = lean_usize_shift_left(x_23, x_4);
x_25 = lean_usize_sub(x_24, x_23);
x_26 = lean_usize_land(x_3, x_25);
x_27 = 5;
x_28 = lean_usize_sub(x_4, x_27);
x_29 = lean_array_fget(x_5, x_7);
x_30 = lean_box(0);
x_31 = lean_array_fset(x_5, x_7, x_30);
x_32 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg(x_1, x_29, x_26, x_28);
x_33 = lean_array_fset(x_31, x_7, x_32);
lean_dec(x_7);
x_34 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_34, 0, x_33);
return x_34;
}
}
}
else
{
lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; 
x_35 = lean_ctor_get(x_2, 0);
x_36 = lean_usize_to_nat(x_3);
x_37 = lean_array_get_size(x_35);
x_38 = lean_nat_dec_lt(x_36, x_37);
lean_dec(x_37);
if (x_38 == 0)
{
lean_dec(x_36);
lean_dec(x_1);
return x_2;
}
else
{
uint8_t x_39; 
lean_inc_ref(x_35);
x_39 = !lean_is_exclusive(x_2);
if (x_39 == 0)
{
lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; 
x_40 = lean_ctor_get(x_2, 0);
lean_dec(x_40);
x_41 = lean_array_fget(x_35, x_36);
x_42 = lean_box(0);
x_43 = lean_array_fset(x_35, x_36, x_42);
x_44 = lean_box(6);
x_45 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_45, 0, x_1);
lean_ctor_set(x_45, 1, x_44);
x_46 = l_Lean_PersistentArray_push___redArg(x_41, x_45);
x_47 = lean_array_fset(x_43, x_36, x_46);
lean_dec(x_36);
lean_ctor_set(x_2, 0, x_47);
return x_2;
}
else
{
lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; 
lean_dec(x_2);
x_48 = lean_array_fget(x_35, x_36);
x_49 = lean_box(0);
x_50 = lean_array_fset(x_35, x_36, x_49);
x_51 = lean_box(6);
x_52 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_52, 0, x_1);
lean_ctor_set(x_52, 1, x_51);
x_53 = l_Lean_PersistentArray_push___redArg(x_48, x_52);
x_54 = lean_array_fset(x_50, x_36, x_53);
lean_dec(x_36);
x_55 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_55, 0, x_54);
return x_55;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5) {
_start:
{
lean_object* x_6; 
x_6 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg(x_1, x_3, x_4, x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5; 
x_5 = !lean_is_exclusive(x_3);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7; size_t x_8; lean_object* x_9; uint8_t x_10; 
x_6 = lean_ctor_get(x_3, 0);
x_7 = lean_ctor_get(x_3, 1);
x_8 = lean_ctor_get_usize(x_3, 4);
x_9 = lean_ctor_get(x_3, 3);
x_10 = lean_nat_dec_le(x_9, x_4);
if (x_10 == 0)
{
size_t x_11; lean_object* x_12; 
x_11 = lean_usize_of_nat(x_4);
x_12 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg(x_1, x_6, x_11, x_8);
lean_ctor_set(x_3, 0, x_12);
return x_3;
}
else
{
lean_object* x_13; lean_object* x_14; uint8_t x_15; 
x_13 = lean_nat_sub(x_4, x_9);
x_14 = lean_array_get_size(x_7);
x_15 = lean_nat_dec_lt(x_13, x_14);
lean_dec(x_14);
if (x_15 == 0)
{
lean_dec(x_13);
lean_dec(x_1);
return x_3;
}
else
{
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; 
x_16 = lean_array_fget(x_7, x_13);
x_17 = lean_box(0);
x_18 = lean_array_fset(x_7, x_13, x_17);
x_19 = lean_box(6);
x_20 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_20, 0, x_1);
lean_ctor_set(x_20, 1, x_19);
x_21 = l_Lean_PersistentArray_push___redArg(x_16, x_20);
x_22 = lean_array_fset(x_18, x_13, x_21);
lean_dec(x_13);
lean_ctor_set(x_3, 1, x_22);
return x_3;
}
}
}
else
{
lean_object* x_23; lean_object* x_24; lean_object* x_25; size_t x_26; lean_object* x_27; uint8_t x_28; 
x_23 = lean_ctor_get(x_3, 0);
x_24 = lean_ctor_get(x_3, 1);
x_25 = lean_ctor_get(x_3, 2);
x_26 = lean_ctor_get_usize(x_3, 4);
x_27 = lean_ctor_get(x_3, 3);
lean_inc(x_27);
lean_inc(x_25);
lean_inc(x_24);
lean_inc(x_23);
lean_dec(x_3);
x_28 = lean_nat_dec_le(x_27, x_4);
if (x_28 == 0)
{
size_t x_29; lean_object* x_30; lean_object* x_31; 
x_29 = lean_usize_of_nat(x_4);
x_30 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg(x_1, x_23, x_29, x_26);
x_31 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(x_31, 0, x_30);
lean_ctor_set(x_31, 1, x_24);
lean_ctor_set(x_31, 2, x_25);
lean_ctor_set(x_31, 3, x_27);
lean_ctor_set_usize(x_31, 4, x_26);
return x_31;
}
else
{
lean_object* x_32; lean_object* x_33; uint8_t x_34; 
x_32 = lean_nat_sub(x_4, x_27);
x_33 = lean_array_get_size(x_24);
x_34 = lean_nat_dec_lt(x_32, x_33);
lean_dec(x_33);
if (x_34 == 0)
{
lean_object* x_35; 
lean_dec(x_32);
lean_dec(x_1);
x_35 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(x_35, 0, x_23);
lean_ctor_set(x_35, 1, x_24);
lean_ctor_set(x_35, 2, x_25);
lean_ctor_set(x_35, 3, x_27);
lean_ctor_set_usize(x_35, 4, x_26);
return x_35;
}
else
{
lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; 
x_36 = lean_array_fget(x_24, x_32);
x_37 = lean_box(0);
x_38 = lean_array_fset(x_24, x_32, x_37);
x_39 = lean_box(6);
x_40 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_40, 0, x_1);
lean_ctor_set(x_40, 1, x_39);
x_41 = l_Lean_PersistentArray_push___redArg(x_36, x_40);
x_42 = lean_array_fset(x_38, x_32, x_41);
lean_dec(x_32);
x_43 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(x_43, 0, x_23);
lean_ctor_set(x_43, 1, x_42);
lean_ctor_set(x_43, 2, x_25);
lean_ctor_set(x_43, 3, x_27);
lean_ctor_set_usize(x_43, 4, x_26);
return x_43;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; 
x_6 = lean_ctor_get(x_5, 0);
x_7 = lean_ctor_get(x_5, 1);
x_8 = lean_ctor_get(x_5, 2);
x_9 = lean_ctor_get(x_5, 3);
x_10 = lean_ctor_get(x_5, 4);
x_11 = lean_ctor_get(x_5, 5);
x_12 = lean_ctor_get(x_5, 6);
x_13 = lean_ctor_get(x_5, 7);
x_14 = lean_array_get_size(x_6);
x_15 = lean_nat_dec_lt(x_1, x_14);
lean_dec(x_14);
if (x_15 == 0)
{
lean_dec(x_2);
return x_5;
}
else
{
uint8_t x_16; 
lean_inc_ref(x_13);
lean_inc_ref(x_12);
lean_inc_ref(x_11);
lean_inc_ref(x_10);
lean_inc_ref(x_9);
lean_inc_ref(x_8);
lean_inc_ref(x_7);
lean_inc_ref(x_6);
x_16 = !lean_is_exclusive(x_5);
if (x_16 == 0)
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; 
x_17 = lean_ctor_get(x_5, 7);
lean_dec(x_17);
x_18 = lean_ctor_get(x_5, 6);
lean_dec(x_18);
x_19 = lean_ctor_get(x_5, 5);
lean_dec(x_19);
x_20 = lean_ctor_get(x_5, 4);
lean_dec(x_20);
x_21 = lean_ctor_get(x_5, 3);
lean_dec(x_21);
x_22 = lean_ctor_get(x_5, 2);
lean_dec(x_22);
x_23 = lean_ctor_get(x_5, 1);
lean_dec(x_23);
x_24 = lean_ctor_get(x_5, 0);
lean_dec(x_24);
x_25 = lean_array_fget(x_6, x_1);
x_26 = !lean_is_exclusive(x_25);
if (x_26 == 0)
{
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; 
x_27 = lean_ctor_get(x_25, 34);
x_28 = lean_box(0);
x_29 = lean_array_fset(x_6, x_1, x_28);
x_30 = l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0(x_2, x_3, x_27, x_4);
lean_ctor_set(x_25, 34, x_30);
x_31 = lean_array_fset(x_29, x_1, x_25);
lean_ctor_set(x_5, 0, x_31);
return x_5;
}
else
{
lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; 
x_32 = lean_ctor_get(x_25, 0);
x_33 = lean_ctor_get(x_25, 1);
x_34 = lean_ctor_get(x_25, 2);
x_35 = lean_ctor_get(x_25, 3);
x_36 = lean_ctor_get(x_25, 4);
x_37 = lean_ctor_get(x_25, 5);
x_38 = lean_ctor_get(x_25, 6);
x_39 = lean_ctor_get(x_25, 7);
x_40 = lean_ctor_get(x_25, 8);
x_41 = lean_ctor_get(x_25, 9);
x_42 = lean_ctor_get(x_25, 10);
x_43 = lean_ctor_get(x_25, 11);
x_44 = lean_ctor_get(x_25, 12);
x_45 = lean_ctor_get(x_25, 13);
x_46 = lean_ctor_get(x_25, 14);
x_47 = lean_ctor_get(x_25, 15);
x_48 = lean_ctor_get(x_25, 16);
x_49 = lean_ctor_get(x_25, 17);
x_50 = lean_ctor_get(x_25, 18);
x_51 = lean_ctor_get(x_25, 19);
x_52 = lean_ctor_get(x_25, 20);
x_53 = lean_ctor_get(x_25, 21);
x_54 = lean_ctor_get(x_25, 22);
x_55 = lean_ctor_get(x_25, 23);
x_56 = lean_ctor_get(x_25, 24);
x_57 = lean_ctor_get(x_25, 25);
x_58 = lean_ctor_get(x_25, 26);
x_59 = lean_ctor_get(x_25, 27);
x_60 = lean_ctor_get(x_25, 28);
x_61 = lean_ctor_get(x_25, 29);
x_62 = lean_ctor_get(x_25, 30);
x_63 = lean_ctor_get(x_25, 31);
x_64 = lean_ctor_get(x_25, 32);
x_65 = lean_ctor_get(x_25, 33);
x_66 = lean_ctor_get(x_25, 34);
x_67 = lean_ctor_get(x_25, 35);
x_68 = lean_ctor_get_uint8(x_25, sizeof(void*)*42);
x_69 = lean_ctor_get(x_25, 36);
x_70 = lean_ctor_get(x_25, 37);
x_71 = lean_ctor_get(x_25, 38);
x_72 = lean_ctor_get(x_25, 39);
x_73 = lean_ctor_get(x_25, 40);
x_74 = lean_ctor_get(x_25, 41);
lean_inc(x_74);
lean_inc(x_73);
lean_inc(x_72);
lean_inc(x_71);
lean_inc(x_70);
lean_inc(x_69);
lean_inc(x_67);
lean_inc(x_66);
lean_inc(x_65);
lean_inc(x_64);
lean_inc(x_63);
lean_inc(x_62);
lean_inc(x_61);
lean_inc(x_60);
lean_inc(x_59);
lean_inc(x_58);
lean_inc(x_57);
lean_inc(x_56);
lean_inc(x_55);
lean_inc(x_54);
lean_inc(x_53);
lean_inc(x_52);
lean_inc(x_51);
lean_inc(x_50);
lean_inc(x_49);
lean_inc(x_48);
lean_inc(x_47);
lean_inc(x_46);
lean_inc(x_45);
lean_inc(x_44);
lean_inc(x_43);
lean_inc(x_42);
lean_inc(x_41);
lean_inc(x_40);
lean_inc(x_39);
lean_inc(x_38);
lean_inc(x_37);
lean_inc(x_36);
lean_inc(x_35);
lean_inc(x_34);
lean_inc(x_33);
lean_inc(x_32);
lean_dec(x_25);
x_75 = lean_box(0);
x_76 = lean_array_fset(x_6, x_1, x_75);
x_77 = l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0(x_2, x_3, x_66, x_4);
x_78 = lean_alloc_ctor(0, 42, 1);
lean_ctor_set(x_78, 0, x_32);
lean_ctor_set(x_78, 1, x_33);
lean_ctor_set(x_78, 2, x_34);
lean_ctor_set(x_78, 3, x_35);
lean_ctor_set(x_78, 4, x_36);
lean_ctor_set(x_78, 5, x_37);
lean_ctor_set(x_78, 6, x_38);
lean_ctor_set(x_78, 7, x_39);
lean_ctor_set(x_78, 8, x_40);
lean_ctor_set(x_78, 9, x_41);
lean_ctor_set(x_78, 10, x_42);
lean_ctor_set(x_78, 11, x_43);
lean_ctor_set(x_78, 12, x_44);
lean_ctor_set(x_78, 13, x_45);
lean_ctor_set(x_78, 14, x_46);
lean_ctor_set(x_78, 15, x_47);
lean_ctor_set(x_78, 16, x_48);
lean_ctor_set(x_78, 17, x_49);
lean_ctor_set(x_78, 18, x_50);
lean_ctor_set(x_78, 19, x_51);
lean_ctor_set(x_78, 20, x_52);
lean_ctor_set(x_78, 21, x_53);
lean_ctor_set(x_78, 22, x_54);
lean_ctor_set(x_78, 23, x_55);
lean_ctor_set(x_78, 24, x_56);
lean_ctor_set(x_78, 25, x_57);
lean_ctor_set(x_78, 26, x_58);
lean_ctor_set(x_78, 27, x_59);
lean_ctor_set(x_78, 28, x_60);
lean_ctor_set(x_78, 29, x_61);
lean_ctor_set(x_78, 30, x_62);
lean_ctor_set(x_78, 31, x_63);
lean_ctor_set(x_78, 32, x_64);
lean_ctor_set(x_78, 33, x_65);
lean_ctor_set(x_78, 34, x_77);
lean_ctor_set(x_78, 35, x_67);
lean_ctor_set(x_78, 36, x_69);
lean_ctor_set(x_78, 37, x_70);
lean_ctor_set(x_78, 38, x_71);
lean_ctor_set(x_78, 39, x_72);
lean_ctor_set(x_78, 40, x_73);
lean_ctor_set(x_78, 41, x_74);
lean_ctor_set_uint8(x_78, sizeof(void*)*42, x_68);
x_79 = lean_array_fset(x_76, x_1, x_78);
lean_ctor_set(x_5, 0, x_79);
return x_5;
}
}
else
{
lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; 
lean_dec(x_5);
x_80 = lean_array_fget(x_6, x_1);
x_81 = lean_ctor_get(x_80, 0);
lean_inc(x_81);
x_82 = lean_ctor_get(x_80, 1);
lean_inc(x_82);
x_83 = lean_ctor_get(x_80, 2);
lean_inc_ref(x_83);
x_84 = lean_ctor_get(x_80, 3);
lean_inc(x_84);
x_85 = lean_ctor_get(x_80, 4);
lean_inc_ref(x_85);
x_86 = lean_ctor_get(x_80, 5);
lean_inc(x_86);
x_87 = lean_ctor_get(x_80, 6);
lean_inc(x_87);
x_88 = lean_ctor_get(x_80, 7);
lean_inc(x_88);
x_89 = lean_ctor_get(x_80, 8);
lean_inc(x_89);
x_90 = lean_ctor_get(x_80, 9);
lean_inc(x_90);
x_91 = lean_ctor_get(x_80, 10);
lean_inc(x_91);
x_92 = lean_ctor_get(x_80, 11);
lean_inc(x_92);
x_93 = lean_ctor_get(x_80, 12);
lean_inc(x_93);
x_94 = lean_ctor_get(x_80, 13);
lean_inc(x_94);
x_95 = lean_ctor_get(x_80, 14);
lean_inc(x_95);
x_96 = lean_ctor_get(x_80, 15);
lean_inc(x_96);
x_97 = lean_ctor_get(x_80, 16);
lean_inc(x_97);
x_98 = lean_ctor_get(x_80, 17);
lean_inc_ref(x_98);
x_99 = lean_ctor_get(x_80, 18);
lean_inc_ref(x_99);
x_100 = lean_ctor_get(x_80, 19);
lean_inc(x_100);
x_101 = lean_ctor_get(x_80, 20);
lean_inc(x_101);
x_102 = lean_ctor_get(x_80, 21);
lean_inc(x_102);
x_103 = lean_ctor_get(x_80, 22);
lean_inc_ref(x_103);
x_104 = lean_ctor_get(x_80, 23);
lean_inc_ref(x_104);
x_105 = lean_ctor_get(x_80, 24);
lean_inc_ref(x_105);
x_106 = lean_ctor_get(x_80, 25);
lean_inc(x_106);
x_107 = lean_ctor_get(x_80, 26);
lean_inc(x_107);
x_108 = lean_ctor_get(x_80, 27);
lean_inc(x_108);
x_109 = lean_ctor_get(x_80, 28);
lean_inc_ref(x_109);
x_110 = lean_ctor_get(x_80, 29);
lean_inc_ref(x_110);
x_111 = lean_ctor_get(x_80, 30);
lean_inc_ref(x_111);
x_112 = lean_ctor_get(x_80, 31);
lean_inc_ref(x_112);
x_113 = lean_ctor_get(x_80, 32);
lean_inc_ref(x_113);
x_114 = lean_ctor_get(x_80, 33);
lean_inc_ref(x_114);
x_115 = lean_ctor_get(x_80, 34);
lean_inc_ref(x_115);
x_116 = lean_ctor_get(x_80, 35);
lean_inc_ref(x_116);
x_117 = lean_ctor_get_uint8(x_80, sizeof(void*)*42);
x_118 = lean_ctor_get(x_80, 36);
lean_inc(x_118);
x_119 = lean_ctor_get(x_80, 37);
lean_inc_ref(x_119);
x_120 = lean_ctor_get(x_80, 38);
lean_inc_ref(x_120);
x_121 = lean_ctor_get(x_80, 39);
lean_inc(x_121);
x_122 = lean_ctor_get(x_80, 40);
lean_inc_ref(x_122);
x_123 = lean_ctor_get(x_80, 41);
lean_inc_ref(x_123);
if (lean_is_exclusive(x_80)) {
 lean_ctor_release(x_80, 0);
 lean_ctor_release(x_80, 1);
 lean_ctor_release(x_80, 2);
 lean_ctor_release(x_80, 3);
 lean_ctor_release(x_80, 4);
 lean_ctor_release(x_80, 5);
 lean_ctor_release(x_80, 6);
 lean_ctor_release(x_80, 7);
 lean_ctor_release(x_80, 8);
 lean_ctor_release(x_80, 9);
 lean_ctor_release(x_80, 10);
 lean_ctor_release(x_80, 11);
 lean_ctor_release(x_80, 12);
 lean_ctor_release(x_80, 13);
 lean_ctor_release(x_80, 14);
 lean_ctor_release(x_80, 15);
 lean_ctor_release(x_80, 16);
 lean_ctor_release(x_80, 17);
 lean_ctor_release(x_80, 18);
 lean_ctor_release(x_80, 19);
 lean_ctor_release(x_80, 20);
 lean_ctor_release(x_80, 21);
 lean_ctor_release(x_80, 22);
 lean_ctor_release(x_80, 23);
 lean_ctor_release(x_80, 24);
 lean_ctor_release(x_80, 25);
 lean_ctor_release(x_80, 26);
 lean_ctor_release(x_80, 27);
 lean_ctor_release(x_80, 28);
 lean_ctor_release(x_80, 29);
 lean_ctor_release(x_80, 30);
 lean_ctor_release(x_80, 31);
 lean_ctor_release(x_80, 32);
 lean_ctor_release(x_80, 33);
 lean_ctor_release(x_80, 34);
 lean_ctor_release(x_80, 35);
 lean_ctor_release(x_80, 36);
 lean_ctor_release(x_80, 37);
 lean_ctor_release(x_80, 38);
 lean_ctor_release(x_80, 39);
 lean_ctor_release(x_80, 40);
 lean_ctor_release(x_80, 41);
 x_124 = x_80;
} else {
 lean_dec_ref(x_80);
 x_124 = lean_box(0);
}
x_125 = lean_box(0);
x_126 = lean_array_fset(x_6, x_1, x_125);
x_127 = l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0(x_2, x_3, x_115, x_4);
if (lean_is_scalar(x_124)) {
 x_128 = lean_alloc_ctor(0, 42, 1);
} else {
 x_128 = x_124;
}
lean_ctor_set(x_128, 0, x_81);
lean_ctor_set(x_128, 1, x_82);
lean_ctor_set(x_128, 2, x_83);
lean_ctor_set(x_128, 3, x_84);
lean_ctor_set(x_128, 4, x_85);
lean_ctor_set(x_128, 5, x_86);
lean_ctor_set(x_128, 6, x_87);
lean_ctor_set(x_128, 7, x_88);
lean_ctor_set(x_128, 8, x_89);
lean_ctor_set(x_128, 9, x_90);
lean_ctor_set(x_128, 10, x_91);
lean_ctor_set(x_128, 11, x_92);
lean_ctor_set(x_128, 12, x_93);
lean_ctor_set(x_128, 13, x_94);
lean_ctor_set(x_128, 14, x_95);
lean_ctor_set(x_128, 15, x_96);
lean_ctor_set(x_128, 16, x_97);
lean_ctor_set(x_128, 17, x_98);
lean_ctor_set(x_128, 18, x_99);
lean_ctor_set(x_128, 19, x_100);
lean_ctor_set(x_128, 20, x_101);
lean_ctor_set(x_128, 21, x_102);
lean_ctor_set(x_128, 22, x_103);
lean_ctor_set(x_128, 23, x_104);
lean_ctor_set(x_128, 24, x_105);
lean_ctor_set(x_128, 25, x_106);
lean_ctor_set(x_128, 26, x_107);
lean_ctor_set(x_128, 27, x_108);
lean_ctor_set(x_128, 28, x_109);
lean_ctor_set(x_128, 29, x_110);
lean_ctor_set(x_128, 30, x_111);
lean_ctor_set(x_128, 31, x_112);
lean_ctor_set(x_128, 32, x_113);
lean_ctor_set(x_128, 33, x_114);
lean_ctor_set(x_128, 34, x_127);
lean_ctor_set(x_128, 35, x_116);
lean_ctor_set(x_128, 36, x_118);
lean_ctor_set(x_128, 37, x_119);
lean_ctor_set(x_128, 38, x_120);
lean_ctor_set(x_128, 39, x_121);
lean_ctor_set(x_128, 40, x_122);
lean_ctor_set(x_128, 41, x_123);
lean_ctor_set_uint8(x_128, sizeof(void*)*42, x_117);
x_129 = lean_array_fset(x_126, x_1, x_128);
x_130 = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(x_130, 0, x_129);
lean_ctor_set(x_130, 1, x_7);
lean_ctor_set(x_130, 2, x_8);
lean_ctor_set(x_130, 3, x_9);
lean_ctor_set(x_130, 4, x_10);
lean_ctor_set(x_130, 5, x_11);
lean_ctor_set(x_130, 6, x_12);
lean_ctor_set(x_130, 7, x_13);
return x_130;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg___lam__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6; 
x_6 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg___lam__0(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
lean_dec(x_1);
return x_6;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; 
x_5 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__0;
x_6 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__1;
x_7 = lean_box(0);
lean_inc(x_1);
x_8 = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(x_8, 0, x_6);
lean_ctor_set(x_8, 1, x_1);
lean_ctor_set(x_8, 2, x_7);
x_9 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg___lam__0___boxed), 5, 4);
lean_closure_set(x_9, 0, x_2);
lean_closure_set(x_9, 1, x_8);
lean_closure_set(x_9, 2, x_5);
lean_closure_set(x_9, 3, x_1);
x_10 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_11 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_10, x_9, x_3);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg(x_1, x_2, x_3);
return x_12;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
size_t x_6; size_t x_7; lean_object* x_8; 
x_6 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_7 = lean_unbox_usize(x_5);
lean_dec(x_5);
x_8 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0(x_1, x_2, x_3, x_6, x_7);
lean_dec_ref(x_2);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; 
x_5 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg(x_1, x_2, x_3);
lean_dec(x_3);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; 
x_5 = l_Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0(x_1, x_2, x_3, x_4);
lean_dec(x_4);
lean_dec_ref(x_2);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; size_t x_6; lean_object* x_7; 
x_5 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_6 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_7 = l_Lean_PersistentArray_modifyAux___at___00Lean_PersistentArray_modify___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne_spec__0_spec__0___redArg(x_1, x_2, x_5, x_6);
return x_7;
}
}
LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isNonTrivialIsCharInst(lean_object* x_1) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
uint8_t x_2; 
x_2 = 0;
return x_2;
}
else
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; 
x_3 = lean_ctor_get(x_1, 0);
x_4 = lean_ctor_get(x_3, 1);
x_5 = lean_unsigned_to_nat(1u);
x_6 = lean_nat_dec_eq(x_4, x_5);
if (x_6 == 0)
{
uint8_t x_7; 
x_7 = 1;
return x_7;
}
else
{
uint8_t x_8; 
x_8 = 0;
return x_8;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isNonTrivialIsCharInst___boxed(lean_object* x_1) {
_start:
{
uint8_t x_2; lean_object* x_3; 
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isNonTrivialIsCharInst(x_1);
lean_dec(x_1);
x_3 = lean_box(x_2);
return x_3;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; lean_object* x_16; 
x_16 = l_Lean_Meta_Grind_getConfig___redArg(x_4);
if (lean_obj_tag(x_16) == 0)
{
lean_object* x_17; uint8_t x_18; 
x_17 = lean_ctor_get(x_16, 0);
lean_inc(x_17);
lean_dec_ref(x_16);
x_18 = lean_ctor_get_uint8(x_17, sizeof(void*)*10 + 21);
lean_dec(x_17);
if (x_18 == 0)
{
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_11 = lean_box(0);
goto block_15;
}
else
{
lean_object* x_19; 
x_19 = l_Lean_Meta_Grind_Arith_Cutsat_isSupportedType(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_19) == 0)
{
lean_object* x_20; uint8_t x_21; 
x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
x_21 = lean_unbox(x_20);
lean_dec(x_20);
if (x_21 == 0)
{
lean_dec_ref(x_19);
x_11 = lean_box(0);
goto block_15;
}
else
{
return x_19;
}
}
else
{
return x_19;
}
}
}
else
{
uint8_t x_22; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_22 = !lean_is_exclusive(x_16);
if (x_22 == 0)
{
return x_16;
}
else
{
lean_object* x_23; lean_object* x_24; 
x_23 = lean_ctor_get(x_16, 0);
lean_inc(x_23);
lean_dec(x_16);
x_24 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_24, 0, x_23);
return x_24;
}
}
block_15:
{
uint8_t x_12; lean_object* x_13; lean_object* x_14; 
x_12 = 0;
x_13 = lean_box(x_12);
x_14 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_14, 0, x_13);
return x_14;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getCommRingInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
if (lean_obj_tag(x_1) == 1)
{
uint8_t x_11; 
x_11 = !lean_is_exclusive(x_1);
if (x_11 == 0)
{
lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; 
x_12 = lean_ctor_get(x_1, 0);
x_13 = 0;
x_14 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_14, 0, x_12);
lean_ctor_set_uint8(x_14, sizeof(void*)*1, x_13);
x_15 = l_Lean_Meta_Grind_Arith_CommRing_RingM_getCommRing(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec_ref(x_14);
if (lean_obj_tag(x_15) == 0)
{
uint8_t x_16; 
x_16 = !lean_is_exclusive(x_15);
if (x_16 == 0)
{
lean_object* x_17; lean_object* x_18; 
x_17 = lean_ctor_get(x_15, 0);
x_18 = lean_ctor_get(x_17, 4);
lean_inc_ref(x_18);
lean_dec(x_17);
lean_ctor_set(x_1, 0, x_18);
lean_ctor_set(x_15, 0, x_1);
return x_15;
}
else
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; 
x_19 = lean_ctor_get(x_15, 0);
lean_inc(x_19);
lean_dec(x_15);
x_20 = lean_ctor_get(x_19, 4);
lean_inc_ref(x_20);
lean_dec(x_19);
lean_ctor_set(x_1, 0, x_20);
x_21 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_21, 0, x_1);
return x_21;
}
}
else
{
uint8_t x_22; 
lean_free_object(x_1);
x_22 = !lean_is_exclusive(x_15);
if (x_22 == 0)
{
return x_15;
}
else
{
lean_object* x_23; lean_object* x_24; 
x_23 = lean_ctor_get(x_15, 0);
lean_inc(x_23);
lean_dec(x_15);
x_24 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_24, 0, x_23);
return x_24;
}
}
}
else
{
lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; 
x_25 = lean_ctor_get(x_1, 0);
lean_inc(x_25);
lean_dec(x_1);
x_26 = 0;
x_27 = lean_alloc_ctor(0, 1, 1);
lean_ctor_set(x_27, 0, x_25);
lean_ctor_set_uint8(x_27, sizeof(void*)*1, x_26);
x_28 = l_Lean_Meta_Grind_Arith_CommRing_RingM_getCommRing(x_27, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec_ref(x_27);
if (lean_obj_tag(x_28) == 0)
{
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; 
x_29 = lean_ctor_get(x_28, 0);
lean_inc(x_29);
if (lean_is_exclusive(x_28)) {
 lean_ctor_release(x_28, 0);
 x_30 = x_28;
} else {
 lean_dec_ref(x_28);
 x_30 = lean_box(0);
}
x_31 = lean_ctor_get(x_29, 4);
lean_inc_ref(x_31);
lean_dec(x_29);
x_32 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_32, 0, x_31);
if (lean_is_scalar(x_30)) {
 x_33 = lean_alloc_ctor(0, 1, 0);
} else {
 x_33 = x_30;
}
lean_ctor_set(x_33, 0, x_32);
return x_33;
}
else
{
lean_object* x_34; lean_object* x_35; lean_object* x_36; 
x_34 = lean_ctor_get(x_28, 0);
lean_inc(x_34);
if (lean_is_exclusive(x_28)) {
 lean_ctor_release(x_28, 0);
 x_35 = x_28;
} else {
 lean_dec_ref(x_28);
 x_35 = lean_box(0);
}
if (lean_is_scalar(x_35)) {
 x_36 = lean_alloc_ctor(1, 1, 0);
} else {
 x_36 = x_35;
}
lean_ctor_set(x_36, 0, x_34);
return x_36;
}
}
}
else
{
lean_object* x_37; lean_object* x_38; 
lean_dec(x_1);
x_37 = lean_box(0);
x_38 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_38, 0, x_37);
return x_38;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getCommRingInst_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getCommRingInst_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
return x_11;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__3() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toRing", 6, 6);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("CommRing", 8, 8);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Grind", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Lean", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__3;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__2;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1);
return x_5;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__5() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Ring", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__5;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
if (lean_obj_tag(x_3) == 1)
{
uint8_t x_9; 
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
x_9 = !lean_is_exclusive(x_3);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; 
x_10 = lean_ctor_get(x_3, 0);
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__4;
x_12 = lean_box(0);
x_13 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_13, 0, x_1);
lean_ctor_set(x_13, 1, x_12);
x_14 = l_Lean_mkConst(x_11, x_13);
x_15 = l_Lean_mkAppB(x_14, x_2, x_10);
lean_ctor_set(x_3, 0, x_15);
x_16 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_16, 0, x_3);
return x_16;
}
else
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; 
x_17 = lean_ctor_get(x_3, 0);
lean_inc(x_17);
lean_dec(x_3);
x_18 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__4;
x_19 = lean_box(0);
x_20 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_20, 0, x_1);
lean_ctor_set(x_20, 1, x_19);
x_21 = l_Lean_mkConst(x_18, x_20);
x_22 = l_Lean_mkAppB(x_21, x_2, x_17);
x_23 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_23, 0, x_22);
x_24 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_24, 0, x_23);
return x_24;
}
}
else
{
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; 
lean_dec(x_3);
x_25 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__6;
x_26 = lean_box(0);
x_27 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_27, 0, x_1);
lean_ctor_set(x_27, 1, x_26);
x_28 = l_Lean_mkConst(x_25, x_27);
x_29 = l_Lean_Expr_app___override(x_28, x_2);
x_30 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_29, x_4, x_5, x_6, x_7);
return x_30;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg(x_1, x_2, x_3, x_8, x_9, x_10, x_11);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_9; 
x_9 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
return x_9;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toIntModule", 11, 11);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__0;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__5;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1);
return x_5;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("IntModule", 9, 9);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
if (lean_obj_tag(x_3) == 1)
{
uint8_t x_9; 
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
x_9 = !lean_is_exclusive(x_3);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; 
x_10 = lean_ctor_get(x_3, 0);
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__1;
x_12 = lean_box(0);
x_13 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_13, 0, x_1);
lean_ctor_set(x_13, 1, x_12);
x_14 = l_Lean_mkConst(x_11, x_13);
x_15 = l_Lean_mkAppB(x_14, x_2, x_10);
lean_ctor_set(x_3, 0, x_15);
x_16 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_16, 0, x_3);
return x_16;
}
else
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; 
x_17 = lean_ctor_get(x_3, 0);
lean_inc(x_17);
lean_dec(x_3);
x_18 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__1;
x_19 = lean_box(0);
x_20 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_20, 0, x_1);
lean_ctor_set(x_20, 1, x_19);
x_21 = l_Lean_mkConst(x_18, x_20);
x_22 = l_Lean_mkAppB(x_21, x_2, x_17);
x_23 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_23, 0, x_22);
x_24 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_24, 0, x_23);
return x_24;
}
}
else
{
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; 
lean_dec(x_3);
x_25 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__3;
x_26 = lean_box(0);
x_27 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_27, 0, x_1);
lean_ctor_set(x_27, 1, x_26);
x_28 = l_Lean_mkConst(x_25, x_27);
x_29 = l_Lean_Expr_app___override(x_28, x_2);
x_30 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_29, x_4, x_5, x_6, x_7);
return x_30;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg(x_1, x_2, x_3, x_8, x_9, x_10, x_11);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_9; 
x_9 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
return x_9;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toSemiring", 10, 10);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__0;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__5;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1);
return x_5;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Semiring", 8, 8);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__2;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
if (lean_obj_tag(x_3) == 1)
{
uint8_t x_9; 
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
x_9 = !lean_is_exclusive(x_3);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; 
x_10 = lean_ctor_get(x_3, 0);
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__1;
x_12 = lean_box(0);
x_13 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_13, 0, x_1);
lean_ctor_set(x_13, 1, x_12);
x_14 = l_Lean_mkConst(x_11, x_13);
x_15 = l_Lean_mkAppB(x_14, x_2, x_10);
lean_ctor_set(x_3, 0, x_15);
x_16 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_16, 0, x_3);
return x_16;
}
else
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; 
x_17 = lean_ctor_get(x_3, 0);
lean_inc(x_17);
lean_dec(x_3);
x_18 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__1;
x_19 = lean_box(0);
x_20 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_20, 0, x_1);
lean_ctor_set(x_20, 1, x_19);
x_21 = l_Lean_mkConst(x_18, x_20);
x_22 = l_Lean_mkAppB(x_21, x_2, x_17);
x_23 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_23, 0, x_22);
x_24 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_24, 0, x_23);
return x_24;
}
}
else
{
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; 
lean_dec(x_3);
x_25 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__3;
x_26 = lean_box(0);
x_27 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_27, 0, x_1);
lean_ctor_set(x_27, 1, x_26);
x_28 = l_Lean_mkConst(x_25, x_27);
x_29 = l_Lean_Expr_app___override(x_28, x_2);
x_30 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_29, x_4, x_5, x_6, x_7);
return x_30;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg(x_1, x_2, x_3, x_8, x_9, x_10, x_11);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_9; 
x_9 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
return x_9;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("One", 3, 3);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__0;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("one", 3, 3);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__2;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__0;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__1;
x_13 = lean_box(0);
x_14 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_14, 0, x_1);
lean_ctor_set(x_14, 1, x_13);
lean_inc_ref(x_14);
x_15 = l_Lean_mkConst(x_12, x_14);
lean_inc_ref(x_2);
x_16 = l_Lean_Expr_app___override(x_15, x_2);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
x_17 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_16, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_17) == 0)
{
uint8_t x_18; 
x_18 = !lean_is_exclusive(x_17);
if (x_18 == 0)
{
lean_object* x_19; 
x_19 = lean_ctor_get(x_17, 0);
if (lean_obj_tag(x_19) == 1)
{
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; 
lean_free_object(x_17);
x_20 = lean_ctor_get(x_19, 0);
lean_inc(x_20);
if (lean_is_exclusive(x_19)) {
 lean_ctor_release(x_19, 0);
 x_21 = x_19;
} else {
 lean_dec_ref(x_19);
 x_21 = lean_box(0);
}
x_22 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__3;
x_23 = l_Lean_mkConst(x_22, x_14);
lean_inc_ref(x_2);
x_24 = l_Lean_mkAppB(x_23, x_2, x_20);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
lean_inc(x_6);
lean_inc_ref(x_5);
lean_inc(x_4);
x_25 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(x_24, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_25) == 0)
{
lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_32; lean_object* x_33; 
x_26 = lean_ctor_get(x_25, 0);
lean_inc(x_26);
if (lean_is_exclusive(x_25)) {
 lean_ctor_release(x_25, 0);
 x_27 = x_25;
} else {
 lean_dec_ref(x_25);
 x_27 = lean_box(0);
}
x_32 = lean_unsigned_to_nat(1u);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
x_33 = l_Lean_Meta_mkNumeral(x_2, x_32, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_33) == 0)
{
lean_object* x_34; lean_object* x_35; 
x_34 = lean_ctor_get(x_33, 0);
lean_inc(x_34);
lean_dec_ref(x_33);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
lean_inc(x_34);
lean_inc(x_26);
x_35 = l_Lean_Meta_Grind_isDefEqD(x_26, x_34, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_35) == 0)
{
lean_object* x_36; uint8_t x_37; 
x_36 = lean_ctor_get(x_35, 0);
lean_inc(x_36);
lean_dec_ref(x_35);
x_37 = lean_unbox(x_36);
lean_dec(x_36);
if (x_37 == 0)
{
lean_object* x_38; 
x_38 = l_Lean_Meta_Grind_getConfig___redArg(x_5);
if (lean_obj_tag(x_38) == 0)
{
lean_object* x_39; uint8_t x_40; 
x_39 = lean_ctor_get(x_38, 0);
lean_inc(x_39);
lean_dec_ref(x_38);
x_40 = lean_ctor_get_uint8(x_39, sizeof(void*)*10 + 13);
lean_dec(x_39);
if (x_40 == 0)
{
lean_dec(x_34);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_28 = lean_box(0);
goto block_31;
}
else
{
lean_object* x_41; lean_object* x_42; lean_object* x_43; 
lean_inc(x_26);
x_41 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(x_26, x_34);
x_42 = lean_ctor_get(x_41, 0);
lean_inc(x_42);
lean_dec_ref(x_41);
x_43 = l_Lean_Meta_Grind_reportIssue(x_42, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
if (lean_obj_tag(x_43) == 0)
{
lean_dec_ref(x_43);
x_28 = lean_box(0);
goto block_31;
}
else
{
uint8_t x_44; 
lean_dec(x_27);
lean_dec(x_26);
lean_dec(x_21);
x_44 = !lean_is_exclusive(x_43);
if (x_44 == 0)
{
return x_43;
}
else
{
lean_object* x_45; lean_object* x_46; 
x_45 = lean_ctor_get(x_43, 0);
lean_inc(x_45);
lean_dec(x_43);
x_46 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_46, 0, x_45);
return x_46;
}
}
}
}
else
{
uint8_t x_47; 
lean_dec(x_34);
lean_dec(x_27);
lean_dec(x_26);
lean_dec(x_21);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_47 = !lean_is_exclusive(x_38);
if (x_47 == 0)
{
return x_38;
}
else
{
lean_object* x_48; lean_object* x_49; 
x_48 = lean_ctor_get(x_38, 0);
lean_inc(x_48);
lean_dec(x_38);
x_49 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_49, 0, x_48);
return x_49;
}
}
}
else
{
lean_dec(x_34);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_28 = lean_box(0);
goto block_31;
}
}
else
{
uint8_t x_50; 
lean_dec(x_34);
lean_dec(x_27);
lean_dec(x_26);
lean_dec(x_21);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_50 = !lean_is_exclusive(x_35);
if (x_50 == 0)
{
return x_35;
}
else
{
lean_object* x_51; lean_object* x_52; 
x_51 = lean_ctor_get(x_35, 0);
lean_inc(x_51);
lean_dec(x_35);
x_52 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_52, 0, x_51);
return x_52;
}
}
}
else
{
uint8_t x_53; 
lean_dec(x_27);
lean_dec(x_26);
lean_dec(x_21);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_53 = !lean_is_exclusive(x_33);
if (x_53 == 0)
{
return x_33;
}
else
{
lean_object* x_54; lean_object* x_55; 
x_54 = lean_ctor_get(x_33, 0);
lean_inc(x_54);
lean_dec(x_33);
x_55 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_55, 0, x_54);
return x_55;
}
}
block_31:
{
lean_object* x_29; lean_object* x_30; 
if (lean_is_scalar(x_21)) {
 x_29 = lean_alloc_ctor(1, 1, 0);
} else {
 x_29 = x_21;
}
lean_ctor_set(x_29, 0, x_26);
if (lean_is_scalar(x_27)) {
 x_30 = lean_alloc_ctor(0, 1, 0);
} else {
 x_30 = x_27;
}
lean_ctor_set(x_30, 0, x_29);
return x_30;
}
}
else
{
uint8_t x_56; 
lean_dec(x_21);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_2);
x_56 = !lean_is_exclusive(x_25);
if (x_56 == 0)
{
return x_25;
}
else
{
lean_object* x_57; lean_object* x_58; 
x_57 = lean_ctor_get(x_25, 0);
lean_inc(x_57);
lean_dec(x_25);
x_58 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_58, 0, x_57);
return x_58;
}
}
}
else
{
lean_object* x_59; 
lean_dec(x_19);
lean_dec_ref(x_14);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
x_59 = lean_box(0);
lean_ctor_set(x_17, 0, x_59);
return x_17;
}
}
else
{
lean_object* x_60; 
x_60 = lean_ctor_get(x_17, 0);
lean_inc(x_60);
lean_dec(x_17);
if (lean_obj_tag(x_60) == 1)
{
lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; 
x_61 = lean_ctor_get(x_60, 0);
lean_inc(x_61);
if (lean_is_exclusive(x_60)) {
 lean_ctor_release(x_60, 0);
 x_62 = x_60;
} else {
 lean_dec_ref(x_60);
 x_62 = lean_box(0);
}
x_63 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__3;
x_64 = l_Lean_mkConst(x_63, x_14);
lean_inc_ref(x_2);
x_65 = l_Lean_mkAppB(x_64, x_2, x_61);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
lean_inc(x_6);
lean_inc_ref(x_5);
lean_inc(x_4);
x_66 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(x_65, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_66) == 0)
{
lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_73; lean_object* x_74; 
x_67 = lean_ctor_get(x_66, 0);
lean_inc(x_67);
if (lean_is_exclusive(x_66)) {
 lean_ctor_release(x_66, 0);
 x_68 = x_66;
} else {
 lean_dec_ref(x_66);
 x_68 = lean_box(0);
}
x_73 = lean_unsigned_to_nat(1u);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
x_74 = l_Lean_Meta_mkNumeral(x_2, x_73, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_74) == 0)
{
lean_object* x_75; lean_object* x_76; 
x_75 = lean_ctor_get(x_74, 0);
lean_inc(x_75);
lean_dec_ref(x_74);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
lean_inc(x_75);
lean_inc(x_67);
x_76 = l_Lean_Meta_Grind_isDefEqD(x_67, x_75, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_76) == 0)
{
lean_object* x_77; uint8_t x_78; 
x_77 = lean_ctor_get(x_76, 0);
lean_inc(x_77);
lean_dec_ref(x_76);
x_78 = lean_unbox(x_77);
lean_dec(x_77);
if (x_78 == 0)
{
lean_object* x_79; 
x_79 = l_Lean_Meta_Grind_getConfig___redArg(x_5);
if (lean_obj_tag(x_79) == 0)
{
lean_object* x_80; uint8_t x_81; 
x_80 = lean_ctor_get(x_79, 0);
lean_inc(x_80);
lean_dec_ref(x_79);
x_81 = lean_ctor_get_uint8(x_80, sizeof(void*)*10 + 13);
lean_dec(x_80);
if (x_81 == 0)
{
lean_dec(x_75);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_69 = lean_box(0);
goto block_72;
}
else
{
lean_object* x_82; lean_object* x_83; lean_object* x_84; 
lean_inc(x_67);
x_82 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(x_67, x_75);
x_83 = lean_ctor_get(x_82, 0);
lean_inc(x_83);
lean_dec_ref(x_82);
x_84 = l_Lean_Meta_Grind_reportIssue(x_83, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
if (lean_obj_tag(x_84) == 0)
{
lean_dec_ref(x_84);
x_69 = lean_box(0);
goto block_72;
}
else
{
lean_object* x_85; lean_object* x_86; lean_object* x_87; 
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_62);
x_85 = lean_ctor_get(x_84, 0);
lean_inc(x_85);
if (lean_is_exclusive(x_84)) {
 lean_ctor_release(x_84, 0);
 x_86 = x_84;
} else {
 lean_dec_ref(x_84);
 x_86 = lean_box(0);
}
if (lean_is_scalar(x_86)) {
 x_87 = lean_alloc_ctor(1, 1, 0);
} else {
 x_87 = x_86;
}
lean_ctor_set(x_87, 0, x_85);
return x_87;
}
}
}
else
{
lean_object* x_88; lean_object* x_89; lean_object* x_90; 
lean_dec(x_75);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_62);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_88 = lean_ctor_get(x_79, 0);
lean_inc(x_88);
if (lean_is_exclusive(x_79)) {
 lean_ctor_release(x_79, 0);
 x_89 = x_79;
} else {
 lean_dec_ref(x_79);
 x_89 = lean_box(0);
}
if (lean_is_scalar(x_89)) {
 x_90 = lean_alloc_ctor(1, 1, 0);
} else {
 x_90 = x_89;
}
lean_ctor_set(x_90, 0, x_88);
return x_90;
}
}
else
{
lean_dec(x_75);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_69 = lean_box(0);
goto block_72;
}
}
else
{
lean_object* x_91; lean_object* x_92; lean_object* x_93; 
lean_dec(x_75);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_62);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_91 = lean_ctor_get(x_76, 0);
lean_inc(x_91);
if (lean_is_exclusive(x_76)) {
 lean_ctor_release(x_76, 0);
 x_92 = x_76;
} else {
 lean_dec_ref(x_76);
 x_92 = lean_box(0);
}
if (lean_is_scalar(x_92)) {
 x_93 = lean_alloc_ctor(1, 1, 0);
} else {
 x_93 = x_92;
}
lean_ctor_set(x_93, 0, x_91);
return x_93;
}
}
else
{
lean_object* x_94; lean_object* x_95; lean_object* x_96; 
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_62);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
x_94 = lean_ctor_get(x_74, 0);
lean_inc(x_94);
if (lean_is_exclusive(x_74)) {
 lean_ctor_release(x_74, 0);
 x_95 = x_74;
} else {
 lean_dec_ref(x_74);
 x_95 = lean_box(0);
}
if (lean_is_scalar(x_95)) {
 x_96 = lean_alloc_ctor(1, 1, 0);
} else {
 x_96 = x_95;
}
lean_ctor_set(x_96, 0, x_94);
return x_96;
}
block_72:
{
lean_object* x_70; lean_object* x_71; 
if (lean_is_scalar(x_62)) {
 x_70 = lean_alloc_ctor(1, 1, 0);
} else {
 x_70 = x_62;
}
lean_ctor_set(x_70, 0, x_67);
if (lean_is_scalar(x_68)) {
 x_71 = lean_alloc_ctor(0, 1, 0);
} else {
 x_71 = x_68;
}
lean_ctor_set(x_71, 0, x_70);
return x_71;
}
}
else
{
lean_object* x_97; lean_object* x_98; lean_object* x_99; 
lean_dec(x_62);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_2);
x_97 = lean_ctor_get(x_66, 0);
lean_inc(x_97);
if (lean_is_exclusive(x_66)) {
 lean_ctor_release(x_66, 0);
 x_98 = x_66;
} else {
 lean_dec_ref(x_66);
 x_98 = lean_box(0);
}
if (lean_is_scalar(x_98)) {
 x_99 = lean_alloc_ctor(1, 1, 0);
} else {
 x_99 = x_98;
}
lean_ctor_set(x_99, 0, x_97);
return x_99;
}
}
else
{
lean_object* x_100; lean_object* x_101; 
lean_dec(x_60);
lean_dec_ref(x_14);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
x_100 = lean_box(0);
x_101 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_101, 0, x_100);
return x_101;
}
}
}
else
{
lean_dec_ref(x_14);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
return x_17;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
return x_12;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("OrderedRing", 11, 11);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__0;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("type has a `Preorder` and is a `Semiring`, but is not an ordered ring, failed to synthesize", 91, 91);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__2;
x_2 = l_Lean_stringToMessageData(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) {
_start:
{
lean_object* x_15; 
if (lean_obj_tag(x_3) == 1)
{
if (lean_obj_tag(x_4) == 1)
{
if (lean_obj_tag(x_5) == 1)
{
if (lean_obj_tag(x_6) == 1)
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; 
x_19 = lean_ctor_get(x_3, 0);
lean_inc(x_19);
lean_dec_ref(x_3);
x_20 = lean_ctor_get(x_4, 0);
lean_inc(x_20);
lean_dec_ref(x_4);
x_21 = lean_ctor_get(x_5, 0);
lean_inc(x_21);
lean_dec_ref(x_5);
x_22 = lean_ctor_get(x_6, 0);
lean_inc(x_22);
lean_dec_ref(x_6);
x_23 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__1;
x_24 = lean_box(0);
x_25 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_25, 0, x_1);
lean_ctor_set(x_25, 1, x_24);
x_26 = l_Lean_mkConst(x_23, x_25);
x_27 = l_Lean_mkApp5(x_26, x_2, x_19, x_20, x_21, x_22);
lean_inc(x_13);
lean_inc_ref(x_12);
lean_inc(x_11);
lean_inc_ref(x_10);
lean_inc_ref(x_27);
x_28 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_27, x_10, x_11, x_12, x_13);
if (lean_obj_tag(x_28) == 0)
{
lean_object* x_29; 
x_29 = lean_ctor_get(x_28, 0);
lean_inc(x_29);
if (lean_obj_tag(x_29) == 1)
{
lean_dec_ref(x_29);
lean_dec_ref(x_27);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
return x_28;
}
else
{
lean_object* x_30; 
lean_dec(x_29);
lean_dec_ref(x_28);
x_30 = l_Lean_Meta_Grind_getConfig___redArg(x_8);
if (lean_obj_tag(x_30) == 0)
{
lean_object* x_31; uint8_t x_32; 
x_31 = lean_ctor_get(x_30, 0);
lean_inc(x_31);
lean_dec_ref(x_30);
x_32 = lean_ctor_get_uint8(x_31, sizeof(void*)*10 + 13);
lean_dec(x_31);
if (x_32 == 0)
{
lean_dec_ref(x_27);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
x_15 = lean_box(0);
goto block_18;
}
else
{
lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; 
x_33 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__3;
x_34 = l_Lean_indentExpr(x_27);
x_35 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_35, 0, x_33);
lean_ctor_set(x_35, 1, x_34);
x_36 = l_Lean_Meta_Grind_reportIssue(x_35, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
if (lean_obj_tag(x_36) == 0)
{
lean_dec_ref(x_36);
x_15 = lean_box(0);
goto block_18;
}
else
{
uint8_t x_37; 
x_37 = !lean_is_exclusive(x_36);
if (x_37 == 0)
{
return x_36;
}
else
{
lean_object* x_38; lean_object* x_39; 
x_38 = lean_ctor_get(x_36, 0);
lean_inc(x_38);
lean_dec(x_36);
x_39 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_39, 0, x_38);
return x_39;
}
}
}
}
else
{
uint8_t x_40; 
lean_dec_ref(x_27);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
x_40 = !lean_is_exclusive(x_30);
if (x_40 == 0)
{
return x_30;
}
else
{
lean_object* x_41; lean_object* x_42; 
x_41 = lean_ctor_get(x_30, 0);
lean_inc(x_41);
lean_dec(x_30);
x_42 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_42, 0, x_41);
return x_42;
}
}
}
}
else
{
lean_dec_ref(x_27);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
return x_28;
}
}
else
{
uint8_t x_43; 
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec(x_6);
lean_dec_ref(x_4);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec(x_1);
x_43 = !lean_is_exclusive(x_5);
if (x_43 == 0)
{
lean_object* x_44; lean_object* x_45; 
x_44 = lean_ctor_get(x_5, 0);
lean_dec(x_44);
x_45 = lean_box(0);
lean_ctor_set_tag(x_5, 0);
lean_ctor_set(x_5, 0, x_45);
return x_5;
}
else
{
lean_object* x_46; lean_object* x_47; 
lean_dec(x_5);
x_46 = lean_box(0);
x_47 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_47, 0, x_46);
return x_47;
}
}
}
else
{
uint8_t x_48; 
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec(x_6);
lean_dec(x_5);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
lean_dec(x_1);
x_48 = !lean_is_exclusive(x_4);
if (x_48 == 0)
{
lean_object* x_49; lean_object* x_50; 
x_49 = lean_ctor_get(x_4, 0);
lean_dec(x_49);
x_50 = lean_box(0);
lean_ctor_set_tag(x_4, 0);
lean_ctor_set(x_4, 0, x_50);
return x_4;
}
else
{
lean_object* x_51; lean_object* x_52; 
lean_dec(x_4);
x_51 = lean_box(0);
x_52 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_52, 0, x_51);
return x_52;
}
}
}
else
{
uint8_t x_53; 
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec_ref(x_2);
lean_dec(x_1);
x_53 = !lean_is_exclusive(x_3);
if (x_53 == 0)
{
lean_object* x_54; lean_object* x_55; 
x_54 = lean_ctor_get(x_3, 0);
lean_dec(x_54);
x_55 = lean_box(0);
lean_ctor_set_tag(x_3, 0);
lean_ctor_set(x_3, 0, x_55);
return x_3;
}
else
{
lean_object* x_56; lean_object* x_57; 
lean_dec(x_3);
x_56 = lean_box(0);
x_57 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_57, 0, x_56);
return x_57;
}
}
}
else
{
lean_object* x_58; lean_object* x_59; 
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
lean_dec(x_1);
x_58 = lean_box(0);
x_59 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_59, 0, x_58);
return x_59;
}
block_18:
{
lean_object* x_16; lean_object* x_17; 
x_16 = lean_box(0);
x_17 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_17, 0, x_16);
return x_17;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
_start:
{
lean_object* x_16; 
x_16 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
return x_16;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) {
_start:
{
lean_object* x_16; 
x_16 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec(x_7);
return x_16;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
_start:
{
lean_object* x_15; 
x_15 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
return x_15;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("NatModule", 9, 9);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__0;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("NoNatZeroDivisors", 17, 17);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__2;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; 
x_8 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__1;
x_9 = lean_box(0);
x_10 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_10, 0, x_1);
lean_ctor_set(x_10, 1, x_9);
lean_inc_ref(x_10);
x_11 = l_Lean_mkConst(x_8, x_10);
lean_inc_ref(x_2);
x_12 = l_Lean_Expr_app___override(x_11, x_2);
lean_inc(x_6);
lean_inc_ref(x_5);
lean_inc(x_4);
lean_inc_ref(x_3);
x_13 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_12, x_3, x_4, x_5, x_6);
if (lean_obj_tag(x_13) == 0)
{
uint8_t x_14; 
x_14 = !lean_is_exclusive(x_13);
if (x_14 == 0)
{
lean_object* x_15; 
x_15 = lean_ctor_get(x_13, 0);
if (lean_obj_tag(x_15) == 1)
{
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; 
lean_free_object(x_13);
x_16 = lean_ctor_get(x_15, 0);
lean_inc(x_16);
lean_dec_ref(x_15);
x_17 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__3;
x_18 = l_Lean_mkConst(x_17, x_10);
x_19 = l_Lean_mkAppB(x_18, x_2, x_16);
x_20 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_19, x_3, x_4, x_5, x_6);
return x_20;
}
else
{
lean_object* x_21; 
lean_dec(x_15);
lean_dec_ref(x_10);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
x_21 = lean_box(0);
lean_ctor_set(x_13, 0, x_21);
return x_13;
}
}
else
{
lean_object* x_22; 
x_22 = lean_ctor_get(x_13, 0);
lean_inc(x_22);
lean_dec(x_13);
if (lean_obj_tag(x_22) == 1)
{
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; 
x_23 = lean_ctor_get(x_22, 0);
lean_inc(x_23);
lean_dec_ref(x_22);
x_24 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__3;
x_25 = l_Lean_mkConst(x_24, x_10);
x_26 = l_Lean_mkAppB(x_25, x_2, x_23);
x_27 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_26, x_3, x_4, x_5, x_6);
return x_27;
}
else
{
lean_object* x_28; lean_object* x_29; 
lean_dec(x_22);
lean_dec_ref(x_10);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
x_28 = lean_box(0);
x_29 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_29, 0, x_28);
return x_29;
}
}
}
else
{
lean_dec_ref(x_10);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
return x_13;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg(x_1, x_2, x_7, x_8, x_9, x_10);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8; 
x_8 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; 
x_9 = lean_box(0);
x_10 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_10, 0, x_2);
lean_ctor_set(x_10, 1, x_9);
x_11 = l_Lean_mkConst(x_1, x_10);
x_12 = l_Lean_Expr_app___override(x_11, x_3);
x_13 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_12, x_4, x_5, x_6, x_7);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_1, x_2, x_3, x_8, x_9, x_10, x_11);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
_start:
{
lean_object* x_9; 
x_9 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
return x_9;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; 
x_13 = lean_box(0);
x_14 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_14, 0, x_2);
lean_ctor_set(x_14, 1, x_13);
x_15 = l_Lean_mkConst(x_1, x_14);
x_16 = l_Lean_Expr_app___override(x_15, x_3);
x_17 = l_Lean_Meta_Grind_synthInstance(x_16, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
return x_17;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; 
x_13 = lean_box(0);
lean_inc(x_2);
x_14 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_14, 0, x_2);
lean_ctor_set(x_14, 1, x_13);
lean_inc(x_2);
x_15 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_15, 0, x_2);
lean_ctor_set(x_15, 1, x_14);
x_16 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_16, 0, x_2);
lean_ctor_set(x_16, 1, x_15);
x_17 = l_Lean_mkConst(x_1, x_16);
lean_inc_ref_n(x_3, 2);
x_18 = l_Lean_mkApp3(x_17, x_3, x_3, x_3);
x_19 = l_Lean_Meta_Grind_synthInstance(x_18, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
return x_19;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
return x_13;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("HSMul", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__0;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = lean_unsigned_to_nat(0u);
x_2 = l_Lean_Level_ofNat(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3() {
_start:
{
lean_object* x_1; 
x_1 = l_Lean_Int_mkType;
return x_1;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1;
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_14 = lean_box(0);
lean_inc(x_1);
x_15 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_15, 0, x_1);
lean_ctor_set(x_15, 1, x_14);
x_16 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_16, 0, x_1);
lean_ctor_set(x_16, 1, x_15);
x_17 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_17, 0, x_13);
lean_ctor_set(x_17, 1, x_16);
x_18 = l_Lean_mkConst(x_12, x_17);
x_19 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3;
lean_inc_ref(x_2);
x_20 = l_Lean_mkApp3(x_18, x_19, x_2, x_2);
x_21 = l_Lean_Meta_Grind_synthInstance(x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
return x_21;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_12;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = l_Lean_Nat_mkType;
return x_1;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1;
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_14 = lean_box(0);
lean_inc(x_1);
x_15 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_15, 0, x_1);
lean_ctor_set(x_15, 1, x_14);
x_16 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_16, 0, x_1);
lean_ctor_set(x_16, 1, x_15);
x_17 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_17, 0, x_13);
lean_ctor_set(x_17, 1, x_16);
x_18 = l_Lean_mkConst(x_12, x_17);
x_19 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
lean_inc_ref(x_2);
x_20 = l_Lean_mkApp3(x_18, x_19, x_2, x_2);
x_21 = l_Lean_Meta_Grind_synthInstance(x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
return x_21;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) {
_start:
{
lean_object* x_15; 
if (lean_obj_tag(x_1) == 1)
{
if (lean_obj_tag(x_2) == 1)
{
if (lean_obj_tag(x_3) == 1)
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; 
x_19 = lean_ctor_get(x_1, 0);
lean_inc(x_19);
lean_dec_ref(x_1);
x_20 = lean_ctor_get(x_2, 0);
lean_inc(x_20);
lean_dec_ref(x_2);
x_21 = lean_ctor_get(x_3, 0);
x_22 = lean_box(0);
x_23 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_23, 0, x_5);
lean_ctor_set(x_23, 1, x_22);
x_24 = l_Lean_mkConst(x_4, x_23);
lean_inc(x_21);
x_25 = l_Lean_mkApp3(x_24, x_6, x_19, x_21);
lean_inc(x_13);
lean_inc_ref(x_12);
lean_inc(x_11);
lean_inc_ref(x_10);
lean_inc_ref(x_25);
lean_inc(x_20);
x_26 = l_Lean_Meta_Grind_isDefEqD(x_20, x_25, x_10, x_11, x_12, x_13);
if (lean_obj_tag(x_26) == 0)
{
uint8_t x_27; 
x_27 = !lean_is_exclusive(x_26);
if (x_27 == 0)
{
lean_object* x_28; uint8_t x_29; 
x_28 = lean_ctor_get(x_26, 0);
x_29 = lean_unbox(x_28);
lean_dec(x_28);
if (x_29 == 0)
{
lean_object* x_30; 
lean_free_object(x_26);
lean_dec_ref(x_3);
x_30 = l_Lean_Meta_Grind_getConfig___redArg(x_8);
if (lean_obj_tag(x_30) == 0)
{
lean_object* x_31; uint8_t x_32; 
x_31 = lean_ctor_get(x_30, 0);
lean_inc(x_31);
lean_dec_ref(x_30);
x_32 = lean_ctor_get_uint8(x_31, sizeof(void*)*10 + 13);
lean_dec(x_31);
if (x_32 == 0)
{
lean_dec_ref(x_25);
lean_dec(x_20);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
x_15 = lean_box(0);
goto block_18;
}
else
{
lean_object* x_33; lean_object* x_34; lean_object* x_35; 
x_33 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(x_20, x_25);
x_34 = lean_ctor_get(x_33, 0);
lean_inc(x_34);
lean_dec_ref(x_33);
x_35 = l_Lean_Meta_Grind_reportIssue(x_34, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
if (lean_obj_tag(x_35) == 0)
{
lean_dec_ref(x_35);
x_15 = lean_box(0);
goto block_18;
}
else
{
uint8_t x_36; 
x_36 = !lean_is_exclusive(x_35);
if (x_36 == 0)
{
return x_35;
}
else
{
lean_object* x_37; lean_object* x_38; 
x_37 = lean_ctor_get(x_35, 0);
lean_inc(x_37);
lean_dec(x_35);
x_38 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_38, 0, x_37);
return x_38;
}
}
}
}
else
{
uint8_t x_39; 
lean_dec_ref(x_25);
lean_dec(x_20);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
x_39 = !lean_is_exclusive(x_30);
if (x_39 == 0)
{
return x_30;
}
else
{
lean_object* x_40; lean_object* x_41; 
x_40 = lean_ctor_get(x_30, 0);
lean_inc(x_40);
lean_dec(x_30);
x_41 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_41, 0, x_40);
return x_41;
}
}
}
else
{
lean_dec_ref(x_25);
lean_dec(x_20);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_ctor_set(x_26, 0, x_3);
return x_26;
}
}
else
{
lean_object* x_42; uint8_t x_43; 
x_42 = lean_ctor_get(x_26, 0);
lean_inc(x_42);
lean_dec(x_26);
x_43 = lean_unbox(x_42);
lean_dec(x_42);
if (x_43 == 0)
{
lean_object* x_44; 
lean_dec_ref(x_3);
x_44 = l_Lean_Meta_Grind_getConfig___redArg(x_8);
if (lean_obj_tag(x_44) == 0)
{
lean_object* x_45; uint8_t x_46; 
x_45 = lean_ctor_get(x_44, 0);
lean_inc(x_45);
lean_dec_ref(x_44);
x_46 = lean_ctor_get_uint8(x_45, sizeof(void*)*10 + 13);
lean_dec(x_45);
if (x_46 == 0)
{
lean_dec_ref(x_25);
lean_dec(x_20);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
x_15 = lean_box(0);
goto block_18;
}
else
{
lean_object* x_47; lean_object* x_48; lean_object* x_49; 
x_47 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg(x_20, x_25);
x_48 = lean_ctor_get(x_47, 0);
lean_inc(x_48);
lean_dec_ref(x_47);
x_49 = l_Lean_Meta_Grind_reportIssue(x_48, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
if (lean_obj_tag(x_49) == 0)
{
lean_dec_ref(x_49);
x_15 = lean_box(0);
goto block_18;
}
else
{
lean_object* x_50; lean_object* x_51; lean_object* x_52; 
x_50 = lean_ctor_get(x_49, 0);
lean_inc(x_50);
if (lean_is_exclusive(x_49)) {
 lean_ctor_release(x_49, 0);
 x_51 = x_49;
} else {
 lean_dec_ref(x_49);
 x_51 = lean_box(0);
}
if (lean_is_scalar(x_51)) {
 x_52 = lean_alloc_ctor(1, 1, 0);
} else {
 x_52 = x_51;
}
lean_ctor_set(x_52, 0, x_50);
return x_52;
}
}
}
else
{
lean_object* x_53; lean_object* x_54; lean_object* x_55; 
lean_dec_ref(x_25);
lean_dec(x_20);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
x_53 = lean_ctor_get(x_44, 0);
lean_inc(x_53);
if (lean_is_exclusive(x_44)) {
 lean_ctor_release(x_44, 0);
 x_54 = x_44;
} else {
 lean_dec_ref(x_44);
 x_54 = lean_box(0);
}
if (lean_is_scalar(x_54)) {
 x_55 = lean_alloc_ctor(1, 1, 0);
} else {
 x_55 = x_54;
}
lean_ctor_set(x_55, 0, x_53);
return x_55;
}
}
else
{
lean_object* x_56; 
lean_dec_ref(x_25);
lean_dec(x_20);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
x_56 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_56, 0, x_3);
return x_56;
}
}
}
else
{
uint8_t x_57; 
lean_dec_ref(x_25);
lean_dec(x_20);
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec_ref(x_3);
x_57 = !lean_is_exclusive(x_26);
if (x_57 == 0)
{
return x_26;
}
else
{
lean_object* x_58; lean_object* x_59; 
x_58 = lean_ctor_get(x_26, 0);
lean_inc(x_58);
lean_dec(x_26);
x_59 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_59, 0, x_58);
return x_59;
}
}
}
else
{
uint8_t x_60; 
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_1);
x_60 = !lean_is_exclusive(x_2);
if (x_60 == 0)
{
lean_object* x_61; lean_object* x_62; 
x_61 = lean_ctor_get(x_2, 0);
lean_dec(x_61);
x_62 = lean_box(0);
lean_ctor_set_tag(x_2, 0);
lean_ctor_set(x_2, 0, x_62);
return x_2;
}
else
{
lean_object* x_63; lean_object* x_64; 
lean_dec(x_2);
x_63 = lean_box(0);
x_64 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_64, 0, x_63);
return x_64;
}
}
}
else
{
uint8_t x_65; 
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_65 = !lean_is_exclusive(x_1);
if (x_65 == 0)
{
lean_object* x_66; lean_object* x_67; 
x_66 = lean_ctor_get(x_1, 0);
lean_dec(x_66);
x_67 = lean_box(0);
lean_ctor_set_tag(x_1, 0);
lean_ctor_set(x_1, 0, x_67);
return x_1;
}
else
{
lean_object* x_68; lean_object* x_69; 
lean_dec(x_1);
x_68 = lean_box(0);
x_69 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_69, 0, x_68);
return x_69;
}
}
}
else
{
lean_object* x_70; lean_object* x_71; 
lean_dec(x_13);
lean_dec_ref(x_12);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec(x_1);
x_70 = lean_box(0);
x_71 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_71, 0, x_70);
return x_71;
}
block_18:
{
lean_object* x_16; lean_object* x_17; 
x_16 = lean_box(0);
x_17 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_17, 0, x_16);
return x_17;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
_start:
{
lean_object* x_16; 
x_16 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
return x_16;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) {
_start:
{
lean_object* x_16; 
x_16 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec(x_7);
return x_16;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
_start:
{
lean_object* x_15; 
x_15 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
return x_15;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; 
x_11 = lean_box(0);
x_12 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_12, 0, x_4);
lean_ctor_set(x_12, 1, x_11);
x_13 = l_Lean_mkConst(x_3, x_12);
x_14 = l_Lean_mkAppB(x_13, x_5, x_2);
x_15 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(x_1, x_14, x_6, x_7, x_8, x_9);
return x_15;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) {
_start:
{
lean_object* x_15; 
x_15 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_1, x_2, x_3, x_4, x_5, x_10, x_11, x_12, x_13);
return x_15;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
_start:
{
lean_object* x_15; 
x_15 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec(x_6);
return x_15;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; 
x_13 = lean_box(0);
x_14 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_14, 0, x_5);
lean_ctor_set(x_14, 1, x_13);
lean_inc_ref(x_14);
x_15 = l_Lean_mkConst(x_3, x_14);
lean_inc_ref(x_6);
x_16 = l_Lean_mkAppB(x_15, x_6, x_2);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_17; lean_object* x_18; lean_object* x_19; 
x_17 = l_Lean_mkConst(x_4, x_14);
x_18 = l_Lean_mkAppB(x_17, x_6, x_16);
x_19 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(x_1, x_18, x_8, x_9, x_10, x_11);
return x_19;
}
else
{
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; 
x_20 = lean_ctor_get(x_7, 0);
lean_inc(x_20);
lean_dec_ref(x_7);
x_21 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_22 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_22, 0, x_21);
lean_ctor_set(x_22, 1, x_14);
x_23 = l_Lean_mkConst(x_4, x_22);
x_24 = l_Lean_mkApp3(x_23, x_20, x_6, x_16);
x_25 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(x_1, x_24, x_8, x_9, x_10, x_11);
return x_25;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) {
_start:
{
lean_object* x_17; 
x_17 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_12, x_13, x_14, x_15);
return x_17;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) {
_start:
{
lean_object* x_17; 
x_17 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15);
lean_dec(x_11);
lean_dec_ref(x_10);
lean_dec(x_9);
lean_dec(x_8);
return x_17;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
_start:
{
lean_object* x_13; 
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
return x_13;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("hSMul", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__0;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__0;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1;
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_14 = lean_box(0);
lean_inc(x_1);
x_15 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_15, 0, x_1);
lean_ctor_set(x_15, 1, x_14);
x_16 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_16, 0, x_1);
lean_ctor_set(x_16, 1, x_15);
x_17 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_17, 0, x_13);
lean_ctor_set(x_17, 1, x_16);
lean_inc_ref(x_17);
x_18 = l_Lean_mkConst(x_12, x_17);
x_19 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3;
lean_inc_ref_n(x_2, 2);
x_20 = l_Lean_mkApp3(x_18, x_19, x_2, x_2);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
x_21 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_20, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_21) == 0)
{
uint8_t x_22; 
x_22 = !lean_is_exclusive(x_21);
if (x_22 == 0)
{
lean_object* x_23; 
x_23 = lean_ctor_get(x_21, 0);
if (lean_obj_tag(x_23) == 1)
{
uint8_t x_24; 
lean_free_object(x_21);
x_24 = !lean_is_exclusive(x_23);
if (x_24 == 0)
{
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; 
x_25 = lean_ctor_get(x_23, 0);
x_26 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_27 = l_Lean_mkConst(x_26, x_17);
lean_inc_ref(x_2);
x_28 = l_Lean_mkApp4(x_27, x_19, x_2, x_2, x_25);
x_29 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_28, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_29) == 0)
{
uint8_t x_30; 
x_30 = !lean_is_exclusive(x_29);
if (x_30 == 0)
{
lean_object* x_31; 
x_31 = lean_ctor_get(x_29, 0);
lean_ctor_set(x_23, 0, x_31);
lean_ctor_set(x_29, 0, x_23);
return x_29;
}
else
{
lean_object* x_32; lean_object* x_33; 
x_32 = lean_ctor_get(x_29, 0);
lean_inc(x_32);
lean_dec(x_29);
lean_ctor_set(x_23, 0, x_32);
x_33 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_33, 0, x_23);
return x_33;
}
}
else
{
uint8_t x_34; 
lean_free_object(x_23);
x_34 = !lean_is_exclusive(x_29);
if (x_34 == 0)
{
return x_29;
}
else
{
lean_object* x_35; lean_object* x_36; 
x_35 = lean_ctor_get(x_29, 0);
lean_inc(x_35);
lean_dec(x_29);
x_36 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_36, 0, x_35);
return x_36;
}
}
}
else
{
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; 
x_37 = lean_ctor_get(x_23, 0);
lean_inc(x_37);
lean_dec(x_23);
x_38 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_39 = l_Lean_mkConst(x_38, x_17);
lean_inc_ref(x_2);
x_40 = l_Lean_mkApp4(x_39, x_19, x_2, x_2, x_37);
x_41 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_40, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_41) == 0)
{
lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; 
x_42 = lean_ctor_get(x_41, 0);
lean_inc(x_42);
if (lean_is_exclusive(x_41)) {
 lean_ctor_release(x_41, 0);
 x_43 = x_41;
} else {
 lean_dec_ref(x_41);
 x_43 = lean_box(0);
}
x_44 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_44, 0, x_42);
if (lean_is_scalar(x_43)) {
 x_45 = lean_alloc_ctor(0, 1, 0);
} else {
 x_45 = x_43;
}
lean_ctor_set(x_45, 0, x_44);
return x_45;
}
else
{
lean_object* x_46; lean_object* x_47; lean_object* x_48; 
x_46 = lean_ctor_get(x_41, 0);
lean_inc(x_46);
if (lean_is_exclusive(x_41)) {
 lean_ctor_release(x_41, 0);
 x_47 = x_41;
} else {
 lean_dec_ref(x_41);
 x_47 = lean_box(0);
}
if (lean_is_scalar(x_47)) {
 x_48 = lean_alloc_ctor(1, 1, 0);
} else {
 x_48 = x_47;
}
lean_ctor_set(x_48, 0, x_46);
return x_48;
}
}
}
else
{
lean_object* x_49; 
lean_dec(x_23);
lean_dec_ref(x_17);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
x_49 = lean_box(0);
lean_ctor_set(x_21, 0, x_49);
return x_21;
}
}
else
{
lean_object* x_50; 
x_50 = lean_ctor_get(x_21, 0);
lean_inc(x_50);
lean_dec(x_21);
if (lean_obj_tag(x_50) == 1)
{
lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; 
x_51 = lean_ctor_get(x_50, 0);
lean_inc(x_51);
if (lean_is_exclusive(x_50)) {
 lean_ctor_release(x_50, 0);
 x_52 = x_50;
} else {
 lean_dec_ref(x_50);
 x_52 = lean_box(0);
}
x_53 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_54 = l_Lean_mkConst(x_53, x_17);
lean_inc_ref(x_2);
x_55 = l_Lean_mkApp4(x_54, x_19, x_2, x_2, x_51);
x_56 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_55, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_56) == 0)
{
lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; 
x_57 = lean_ctor_get(x_56, 0);
lean_inc(x_57);
if (lean_is_exclusive(x_56)) {
 lean_ctor_release(x_56, 0);
 x_58 = x_56;
} else {
 lean_dec_ref(x_56);
 x_58 = lean_box(0);
}
if (lean_is_scalar(x_52)) {
 x_59 = lean_alloc_ctor(1, 1, 0);
} else {
 x_59 = x_52;
}
lean_ctor_set(x_59, 0, x_57);
if (lean_is_scalar(x_58)) {
 x_60 = lean_alloc_ctor(0, 1, 0);
} else {
 x_60 = x_58;
}
lean_ctor_set(x_60, 0, x_59);
return x_60;
}
else
{
lean_object* x_61; lean_object* x_62; lean_object* x_63; 
lean_dec(x_52);
x_61 = lean_ctor_get(x_56, 0);
lean_inc(x_61);
if (lean_is_exclusive(x_56)) {
 lean_ctor_release(x_56, 0);
 x_62 = x_56;
} else {
 lean_dec_ref(x_56);
 x_62 = lean_box(0);
}
if (lean_is_scalar(x_62)) {
 x_63 = lean_alloc_ctor(1, 1, 0);
} else {
 x_63 = x_62;
}
lean_ctor_set(x_63, 0, x_61);
return x_63;
}
}
else
{
lean_object* x_64; lean_object* x_65; 
lean_dec(x_50);
lean_dec_ref(x_17);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
x_64 = lean_box(0);
x_65 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_65, 0, x_64);
return x_65;
}
}
}
else
{
lean_dec_ref(x_17);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
return x_21;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatFn_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1;
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_14 = lean_box(0);
lean_inc(x_1);
x_15 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_15, 0, x_1);
lean_ctor_set(x_15, 1, x_14);
x_16 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_16, 0, x_1);
lean_ctor_set(x_16, 1, x_15);
x_17 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_17, 0, x_13);
lean_ctor_set(x_17, 1, x_16);
lean_inc_ref(x_17);
x_18 = l_Lean_mkConst(x_12, x_17);
x_19 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
lean_inc_ref_n(x_2, 2);
x_20 = l_Lean_mkApp3(x_18, x_19, x_2, x_2);
lean_inc(x_10);
lean_inc_ref(x_9);
lean_inc(x_8);
lean_inc_ref(x_7);
x_21 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_20, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_21) == 0)
{
uint8_t x_22; 
x_22 = !lean_is_exclusive(x_21);
if (x_22 == 0)
{
lean_object* x_23; 
x_23 = lean_ctor_get(x_21, 0);
if (lean_obj_tag(x_23) == 1)
{
uint8_t x_24; 
lean_free_object(x_21);
x_24 = !lean_is_exclusive(x_23);
if (x_24 == 0)
{
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; 
x_25 = lean_ctor_get(x_23, 0);
x_26 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_27 = l_Lean_mkConst(x_26, x_17);
lean_inc_ref(x_2);
x_28 = l_Lean_mkApp4(x_27, x_19, x_2, x_2, x_25);
x_29 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_28, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_29) == 0)
{
uint8_t x_30; 
x_30 = !lean_is_exclusive(x_29);
if (x_30 == 0)
{
lean_object* x_31; 
x_31 = lean_ctor_get(x_29, 0);
lean_ctor_set(x_23, 0, x_31);
lean_ctor_set(x_29, 0, x_23);
return x_29;
}
else
{
lean_object* x_32; lean_object* x_33; 
x_32 = lean_ctor_get(x_29, 0);
lean_inc(x_32);
lean_dec(x_29);
lean_ctor_set(x_23, 0, x_32);
x_33 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_33, 0, x_23);
return x_33;
}
}
else
{
uint8_t x_34; 
lean_free_object(x_23);
x_34 = !lean_is_exclusive(x_29);
if (x_34 == 0)
{
return x_29;
}
else
{
lean_object* x_35; lean_object* x_36; 
x_35 = lean_ctor_get(x_29, 0);
lean_inc(x_35);
lean_dec(x_29);
x_36 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_36, 0, x_35);
return x_36;
}
}
}
else
{
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; 
x_37 = lean_ctor_get(x_23, 0);
lean_inc(x_37);
lean_dec(x_23);
x_38 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_39 = l_Lean_mkConst(x_38, x_17);
lean_inc_ref(x_2);
x_40 = l_Lean_mkApp4(x_39, x_19, x_2, x_2, x_37);
x_41 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_40, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_41) == 0)
{
lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; 
x_42 = lean_ctor_get(x_41, 0);
lean_inc(x_42);
if (lean_is_exclusive(x_41)) {
 lean_ctor_release(x_41, 0);
 x_43 = x_41;
} else {
 lean_dec_ref(x_41);
 x_43 = lean_box(0);
}
x_44 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_44, 0, x_42);
if (lean_is_scalar(x_43)) {
 x_45 = lean_alloc_ctor(0, 1, 0);
} else {
 x_45 = x_43;
}
lean_ctor_set(x_45, 0, x_44);
return x_45;
}
else
{
lean_object* x_46; lean_object* x_47; lean_object* x_48; 
x_46 = lean_ctor_get(x_41, 0);
lean_inc(x_46);
if (lean_is_exclusive(x_41)) {
 lean_ctor_release(x_41, 0);
 x_47 = x_41;
} else {
 lean_dec_ref(x_41);
 x_47 = lean_box(0);
}
if (lean_is_scalar(x_47)) {
 x_48 = lean_alloc_ctor(1, 1, 0);
} else {
 x_48 = x_47;
}
lean_ctor_set(x_48, 0, x_46);
return x_48;
}
}
}
else
{
lean_object* x_49; 
lean_dec(x_23);
lean_dec_ref(x_17);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
x_49 = lean_box(0);
lean_ctor_set(x_21, 0, x_49);
return x_21;
}
}
else
{
lean_object* x_50; 
x_50 = lean_ctor_get(x_21, 0);
lean_inc(x_50);
lean_dec(x_21);
if (lean_obj_tag(x_50) == 1)
{
lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; 
x_51 = lean_ctor_get(x_50, 0);
lean_inc(x_51);
if (lean_is_exclusive(x_50)) {
 lean_ctor_release(x_50, 0);
 x_52 = x_50;
} else {
 lean_dec_ref(x_50);
 x_52 = lean_box(0);
}
x_53 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_54 = l_Lean_mkConst(x_53, x_17);
lean_inc_ref(x_2);
x_55 = l_Lean_mkApp4(x_54, x_19, x_2, x_2, x_51);
x_56 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_55, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_56) == 0)
{
lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; 
x_57 = lean_ctor_get(x_56, 0);
lean_inc(x_57);
if (lean_is_exclusive(x_56)) {
 lean_ctor_release(x_56, 0);
 x_58 = x_56;
} else {
 lean_dec_ref(x_56);
 x_58 = lean_box(0);
}
if (lean_is_scalar(x_52)) {
 x_59 = lean_alloc_ctor(1, 1, 0);
} else {
 x_59 = x_52;
}
lean_ctor_set(x_59, 0, x_57);
if (lean_is_scalar(x_58)) {
 x_60 = lean_alloc_ctor(0, 1, 0);
} else {
 x_60 = x_58;
}
lean_ctor_set(x_60, 0, x_59);
return x_60;
}
else
{
lean_object* x_61; lean_object* x_62; lean_object* x_63; 
lean_dec(x_52);
x_61 = lean_ctor_get(x_56, 0);
lean_inc(x_61);
if (lean_is_exclusive(x_56)) {
 lean_ctor_release(x_56, 0);
 x_62 = x_56;
} else {
 lean_dec_ref(x_56);
 x_62 = lean_box(0);
}
if (lean_is_scalar(x_62)) {
 x_63 = lean_alloc_ctor(1, 1, 0);
} else {
 x_63 = x_62;
}
lean_ctor_set(x_63, 0, x_61);
return x_63;
}
}
else
{
lean_object* x_64; lean_object* x_65; 
lean_dec(x_50);
lean_dec_ref(x_17);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
x_64 = lean_box(0);
x_65 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_65, 0, x_64);
return x_65;
}
}
}
else
{
lean_dec_ref(x_17);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
return x_21;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatFn_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatFn_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
return x_12;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__0() {
_start:
{
size_t x_1; size_t x_2; size_t x_3; 
x_1 = 5;
x_2 = 1;
x_3 = lean_usize_shift_left(x_2, x_1);
return x_3;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__1() {
_start:
{
size_t x_1; size_t x_2; size_t x_3; 
x_1 = 1;
x_2 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__0;
x_3 = lean_usize_sub(x_2, x_1);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0_spec__0___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint8_t x_5; 
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; 
x_6 = lean_ctor_get(x_1, 0);
x_7 = lean_ctor_get(x_1, 1);
x_8 = lean_array_get_size(x_6);
x_9 = lean_nat_dec_lt(x_2, x_8);
lean_dec(x_8);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; 
lean_dec(x_2);
x_10 = lean_array_push(x_6, x_3);
x_11 = lean_array_push(x_7, x_4);
lean_ctor_set(x_1, 1, x_11);
lean_ctor_set(x_1, 0, x_10);
return x_1;
}
else
{
lean_object* x_12; uint8_t x_13; 
x_12 = lean_array_fget_borrowed(x_6, x_2);
x_13 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_3, x_12);
if (x_13 == 0)
{
lean_object* x_14; lean_object* x_15; 
x_14 = lean_unsigned_to_nat(1u);
x_15 = lean_nat_add(x_2, x_14);
lean_dec(x_2);
x_2 = x_15;
goto _start;
}
else
{
lean_object* x_17; lean_object* x_18; 
x_17 = lean_array_fset(x_6, x_2, x_3);
x_18 = lean_array_fset(x_7, x_2, x_4);
lean_dec(x_2);
lean_ctor_set(x_1, 1, x_18);
lean_ctor_set(x_1, 0, x_17);
return x_1;
}
}
}
else
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; 
x_19 = lean_ctor_get(x_1, 0);
x_20 = lean_ctor_get(x_1, 1);
lean_inc(x_20);
lean_inc(x_19);
lean_dec(x_1);
x_21 = lean_array_get_size(x_19);
x_22 = lean_nat_dec_lt(x_2, x_21);
lean_dec(x_21);
if (x_22 == 0)
{
lean_object* x_23; lean_object* x_24; lean_object* x_25; 
lean_dec(x_2);
x_23 = lean_array_push(x_19, x_3);
x_24 = lean_array_push(x_20, x_4);
x_25 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_25, 0, x_23);
lean_ctor_set(x_25, 1, x_24);
return x_25;
}
else
{
lean_object* x_26; uint8_t x_27; 
x_26 = lean_array_fget_borrowed(x_19, x_2);
x_27 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_3, x_26);
if (x_27 == 0)
{
lean_object* x_28; lean_object* x_29; lean_object* x_30; 
x_28 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_28, 0, x_19);
lean_ctor_set(x_28, 1, x_20);
x_29 = lean_unsigned_to_nat(1u);
x_30 = lean_nat_add(x_2, x_29);
lean_dec(x_2);
x_1 = x_28;
x_2 = x_30;
goto _start;
}
else
{
lean_object* x_32; lean_object* x_33; lean_object* x_34; 
x_32 = lean_array_fset(x_19, x_2, x_3);
x_33 = lean_array_fset(x_20, x_2, x_4);
lean_dec(x_2);
x_34 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_34, 0, x_32);
lean_ctor_set(x_34, 1, x_33);
return x_34;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; lean_object* x_5; 
x_4 = lean_unsigned_to_nat(0u);
x_5 = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0_spec__0___redArg(x_1, x_4, x_2, x_3);
return x_5;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = l_Lean_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0));
return x_1;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___redArg(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6; uint8_t x_7; 
x_6 = lean_array_get_size(x_2);
x_7 = lean_nat_dec_lt(x_4, x_6);
lean_dec(x_6);
if (x_7 == 0)
{
lean_dec(x_4);
return x_5;
}
else
{
lean_object* x_8; lean_object* x_9; uint64_t x_10; size_t x_11; size_t x_12; lean_object* x_13; size_t x_14; size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; 
x_8 = lean_array_fget_borrowed(x_2, x_4);
x_9 = lean_array_fget_borrowed(x_3, x_4);
x_10 = l_Lean_Meta_Grind_hashPtrExpr_unsafe__1(x_8);
x_11 = lean_uint64_to_usize(x_10);
x_12 = 5;
x_13 = lean_unsigned_to_nat(1u);
x_14 = 1;
x_15 = lean_usize_sub(x_1, x_14);
x_16 = lean_usize_mul(x_12, x_15);
x_17 = lean_usize_shift_right(x_11, x_16);
x_18 = lean_nat_add(x_4, x_13);
lean_dec(x_4);
lean_inc(x_9);
lean_inc(x_8);
x_19 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg(x_5, x_17, x_1, x_8, x_9);
x_4 = x_18;
x_5 = x_19;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_6; size_t x_7; size_t x_8; size_t x_9; size_t x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; 
x_6 = lean_ctor_get(x_1, 0);
x_7 = 5;
x_8 = 1;
x_9 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__1;
x_10 = lean_usize_land(x_2, x_9);
x_11 = lean_usize_to_nat(x_10);
x_12 = lean_array_get_size(x_6);
x_13 = lean_nat_dec_lt(x_11, x_12);
lean_dec(x_12);
if (x_13 == 0)
{
lean_dec(x_11);
lean_dec(x_5);
lean_dec_ref(x_4);
return x_1;
}
else
{
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; 
lean_inc_ref(x_6);
if (lean_is_exclusive(x_1)) {
 lean_ctor_release(x_1, 0);
 x_14 = x_1;
} else {
 lean_dec_ref(x_1);
 x_14 = lean_box(0);
}
x_15 = lean_array_fget(x_6, x_11);
x_16 = lean_box(0);
x_17 = lean_array_fset(x_6, x_11, x_16);
switch (lean_obj_tag(x_15)) {
case 0:
{
uint8_t x_22; 
x_22 = !lean_is_exclusive(x_15);
if (x_22 == 0)
{
lean_object* x_23; lean_object* x_24; uint8_t x_25; 
x_23 = lean_ctor_get(x_15, 0);
x_24 = lean_ctor_get(x_15, 1);
x_25 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_4, x_23);
if (x_25 == 0)
{
lean_object* x_26; lean_object* x_27; 
lean_free_object(x_15);
x_26 = l_Lean_PersistentHashMap_mkCollisionNode___redArg(x_23, x_24, x_4, x_5);
x_27 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_27, 0, x_26);
x_18 = x_27;
goto block_21;
}
else
{
lean_dec(x_24);
lean_dec(x_23);
lean_ctor_set(x_15, 1, x_5);
lean_ctor_set(x_15, 0, x_4);
x_18 = x_15;
goto block_21;
}
}
else
{
lean_object* x_28; lean_object* x_29; uint8_t x_30; 
x_28 = lean_ctor_get(x_15, 0);
x_29 = lean_ctor_get(x_15, 1);
lean_inc(x_29);
lean_inc(x_28);
lean_dec(x_15);
x_30 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_4, x_28);
if (x_30 == 0)
{
lean_object* x_31; lean_object* x_32; 
x_31 = l_Lean_PersistentHashMap_mkCollisionNode___redArg(x_28, x_29, x_4, x_5);
x_32 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_32, 0, x_31);
x_18 = x_32;
goto block_21;
}
else
{
lean_object* x_33; 
lean_dec(x_29);
lean_dec(x_28);
x_33 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_33, 0, x_4);
lean_ctor_set(x_33, 1, x_5);
x_18 = x_33;
goto block_21;
}
}
}
case 1:
{
uint8_t x_34; 
x_34 = !lean_is_exclusive(x_15);
if (x_34 == 0)
{
lean_object* x_35; size_t x_36; size_t x_37; lean_object* x_38; 
x_35 = lean_ctor_get(x_15, 0);
x_36 = lean_usize_shift_right(x_2, x_7);
x_37 = lean_usize_add(x_3, x_8);
x_38 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg(x_35, x_36, x_37, x_4, x_5);
lean_ctor_set(x_15, 0, x_38);
x_18 = x_15;
goto block_21;
}
else
{
lean_object* x_39; size_t x_40; size_t x_41; lean_object* x_42; lean_object* x_43; 
x_39 = lean_ctor_get(x_15, 0);
lean_inc(x_39);
lean_dec(x_15);
x_40 = lean_usize_shift_right(x_2, x_7);
x_41 = lean_usize_add(x_3, x_8);
x_42 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg(x_39, x_40, x_41, x_4, x_5);
x_43 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_43, 0, x_42);
x_18 = x_43;
goto block_21;
}
}
default: 
{
lean_object* x_44; 
x_44 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_44, 0, x_4);
lean_ctor_set(x_44, 1, x_5);
x_18 = x_44;
goto block_21;
}
}
block_21:
{
lean_object* x_19; lean_object* x_20; 
x_19 = lean_array_fset(x_17, x_11, x_18);
lean_dec(x_11);
if (lean_is_scalar(x_14)) {
 x_20 = lean_alloc_ctor(0, 1, 0);
} else {
 x_20 = x_14;
}
lean_ctor_set(x_20, 0, x_19);
return x_20;
}
}
}
else
{
uint8_t x_45; 
x_45 = !lean_is_exclusive(x_1);
if (x_45 == 0)
{
lean_object* x_46; uint8_t x_47; size_t x_54; uint8_t x_55; 
x_46 = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0___redArg(x_1, x_4, x_5);
x_54 = 7;
x_55 = lean_usize_dec_le(x_54, x_3);
if (x_55 == 0)
{
lean_object* x_56; lean_object* x_57; uint8_t x_58; 
x_56 = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(x_46);
x_57 = lean_unsigned_to_nat(4u);
x_58 = lean_nat_dec_lt(x_56, x_57);
lean_dec(x_56);
x_47 = x_58;
goto block_53;
}
else
{
x_47 = x_55;
goto block_53;
}
block_53:
{
if (x_47 == 0)
{
lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; 
x_48 = lean_ctor_get(x_46, 0);
lean_inc_ref(x_48);
x_49 = lean_ctor_get(x_46, 1);
lean_inc_ref(x_49);
lean_dec_ref(x_46);
x_50 = lean_unsigned_to_nat(0u);
x_51 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__2;
x_52 = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___redArg(x_3, x_48, x_49, x_50, x_51);
lean_dec_ref(x_49);
lean_dec_ref(x_48);
return x_52;
}
else
{
return x_46;
}
}
}
else
{
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; size_t x_70; uint8_t x_71; 
x_59 = lean_ctor_get(x_1, 0);
x_60 = lean_ctor_get(x_1, 1);
lean_inc(x_60);
lean_inc(x_59);
lean_dec(x_1);
x_61 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_61, 0, x_59);
lean_ctor_set(x_61, 1, x_60);
x_62 = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0___redArg(x_61, x_4, x_5);
x_70 = 7;
x_71 = lean_usize_dec_le(x_70, x_3);
if (x_71 == 0)
{
lean_object* x_72; lean_object* x_73; uint8_t x_74; 
x_72 = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(x_62);
x_73 = lean_unsigned_to_nat(4u);
x_74 = lean_nat_dec_lt(x_72, x_73);
lean_dec(x_72);
x_63 = x_74;
goto block_69;
}
else
{
x_63 = x_71;
goto block_69;
}
block_69:
{
if (x_63 == 0)
{
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; 
x_64 = lean_ctor_get(x_62, 0);
lean_inc_ref(x_64);
x_65 = lean_ctor_get(x_62, 1);
lean_inc_ref(x_65);
lean_dec_ref(x_62);
x_66 = lean_unsigned_to_nat(0u);
x_67 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__2;
x_68 = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___redArg(x_3, x_64, x_65, x_66, x_67);
lean_dec_ref(x_65);
lean_dec_ref(x_64);
return x_68;
}
else
{
return x_62;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint64_t x_4; size_t x_5; size_t x_6; lean_object* x_7; 
x_4 = l_Lean_Meta_Grind_hashPtrExpr_unsafe__1(x_2);
x_5 = lean_uint64_to_usize(x_4);
x_6 = 1;
x_7 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg(x_1, x_5, x_6, x_2, x_3);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; 
x_5 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(x_2, x_3, x_4);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; 
x_5 = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0___redArg(x_2, x_3, x_4);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_6; 
x_6 = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__0_spec__0___redArg(x_2, x_3, x_4, x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; 
x_7 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg(x_2, x_3, x_4, x_5, x_6);
return x_7;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8; 
x_8 = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___redArg(x_2, x_3, x_4, x_6, x_7);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___lam__0(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; 
x_3 = !lean_is_exclusive(x_2);
if (x_3 == 0)
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; 
x_4 = lean_ctor_get(x_2, 4);
x_5 = lean_box(0);
x_6 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(x_4, x_1, x_5);
lean_ctor_set(x_2, 4, x_6);
return x_2;
}
else
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; 
x_7 = lean_ctor_get(x_2, 0);
x_8 = lean_ctor_get(x_2, 1);
x_9 = lean_ctor_get(x_2, 2);
x_10 = lean_ctor_get(x_2, 3);
x_11 = lean_ctor_get(x_2, 4);
x_12 = lean_ctor_get(x_2, 5);
x_13 = lean_ctor_get(x_2, 6);
x_14 = lean_ctor_get(x_2, 7);
lean_inc(x_14);
lean_inc(x_13);
lean_inc(x_12);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_dec(x_2);
x_15 = lean_box(0);
x_16 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(x_11, x_1, x_15);
x_17 = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(x_17, 0, x_7);
lean_ctor_set(x_17, 1, x_8);
lean_ctor_set(x_17, 2, x_9);
lean_ctor_set(x_17, 3, x_10);
lean_ctor_set(x_17, 4, x_16);
lean_ctor_set(x_17, 5, x_12);
lean_ctor_set(x_17, 6, x_13);
lean_ctor_set(x_17, 7, x_14);
return x_17;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___lam__1(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; 
x_3 = !lean_is_exclusive(x_2);
if (x_3 == 0)
{
lean_object* x_4; lean_object* x_5; 
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_array_push(x_4, x_1);
lean_ctor_set(x_2, 0, x_5);
return x_2;
}
else
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; 
x_6 = lean_ctor_get(x_2, 0);
x_7 = lean_ctor_get(x_2, 1);
x_8 = lean_ctor_get(x_2, 2);
x_9 = lean_ctor_get(x_2, 3);
x_10 = lean_ctor_get(x_2, 4);
x_11 = lean_ctor_get(x_2, 5);
x_12 = lean_ctor_get(x_2, 6);
x_13 = lean_ctor_get(x_2, 7);
lean_inc(x_13);
lean_inc(x_12);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_dec(x_2);
x_14 = lean_array_push(x_6, x_1);
x_15 = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(x_15, 0, x_14);
lean_ctor_set(x_15, 1, x_7);
lean_ctor_set(x_15, 2, x_8);
lean_ctor_set(x_15, 3, x_9);
lean_ctor_set(x_15, 4, x_10);
lean_ctor_set(x_15, 5, x_11);
lean_ctor_set(x_15, 6, x_12);
lean_ctor_set(x_15, 7, x_13);
return x_15;
}
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("LE", 2, 2);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__0;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__2() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("LT", 2, 2);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__2;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = lean_unsigned_to_nat(32u);
x_2 = lean_mk_empty_array_with_capacity(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__5() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__4;
x_2 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__6() {
_start:
{
lean_object* x_1; 
x_1 = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__7() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__6;
x_2 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__8() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("HMul", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__9() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__8;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__10() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("hMul", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__10;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__8;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__12() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("lt", 2, 2);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__12;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__2;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__14() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Zero", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__14;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__16() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("zero", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__16;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__14;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__18() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("OfNat", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__19() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__18;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__20() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = lean_unsigned_to_nat(0u);
x_2 = l_Lean_mkRawNatLit(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__21() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("ofNat", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__21;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__18;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__23() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("HSub", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__23;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__25() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("hSub", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__25;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__23;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__27() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Neg", 3, 3);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__27;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__29() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("neg", 3, 3);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__29;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__27;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("AddCommMonoid", 13, 13);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toZero", 6, 6);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toAdd", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__34() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("instHAdd", 8, 8);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__34;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toSub", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__37() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("instHSub", 8, 8);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__37;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toNeg", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("zsmul", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__41() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("instHSMul", 9, 9);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__41;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3;
x_2 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("nsmul", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
x_2 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__46() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("le", 2, 2);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__46;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__0;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__48() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Std", 3, 3);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__49() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("IsPartialOrder", 14, 14);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__50() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toIsPreorder", 12, 12);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__51() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__50;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__49;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__48;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__52() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("IsLinearOrder", 13, 13);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__53() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toIsPartialOrder", 16, 16);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__54() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__53;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__52;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__48;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__55() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Field", 5, 5);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__56() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__55;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__57() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toAddCommGroup", 14, 14);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__58() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__57;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1);
return x_5;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__59() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("AddCommGroup", 12, 12);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__60() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toAddCommMonoid", 15, 15);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__61() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__60;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__59;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1);
return x_5;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__62() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("HAdd", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__62;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__64() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("hAdd", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__64;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__62;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__66() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("OrderedAdd", 10, 10);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__66;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; lean_object* x_12; lean_object* x_16; lean_object* x_17; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_61; 
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
x_61 = l_Lean_Meta_getDecLevel_x3f(x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_61) == 0)
{
uint8_t x_62; 
x_62 = !lean_is_exclusive(x_61);
if (x_62 == 0)
{
lean_object* x_63; 
x_63 = lean_ctor_get(x_61, 0);
if (lean_obj_tag(x_63) == 1)
{
lean_object* x_64; lean_object* x_65; lean_object* x_66; 
lean_free_object(x_61);
x_64 = lean_ctor_get(x_63, 0);
lean_inc(x_64);
if (lean_is_exclusive(x_63)) {
 lean_ctor_release(x_63, 0);
 x_65 = x_63;
} else {
 lean_dec_ref(x_63);
 x_65 = lean_box(0);
}
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc_ref(x_1);
x_66 = l_Lean_Meta_Grind_Arith_CommRing_getCommRingId_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_66) == 0)
{
lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; 
x_67 = lean_ctor_get(x_66, 0);
lean_inc(x_67);
if (lean_is_exclusive(x_66)) {
 lean_ctor_release(x_66, 0);
 x_68 = x_66;
} else {
 lean_dec_ref(x_66);
 x_68 = lean_box(0);
}
x_69 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_64);
x_70 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_69, x_64, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_70) == 0)
{
lean_object* x_71; lean_object* x_72; lean_object* x_73; 
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
lean_dec_ref(x_70);
x_72 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_64);
x_73 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_72, x_64, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_73) == 0)
{
lean_object* x_74; lean_object* x_75; 
x_74 = lean_ctor_get(x_73, 0);
lean_inc(x_74);
lean_dec_ref(x_73);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_71);
lean_inc(x_74);
lean_inc_ref(x_1);
lean_inc(x_64);
x_75 = l_Lean_Meta_Grind_mkLawfulOrderLTInst_x3f___redArg(x_64, x_1, x_74, x_71, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_75) == 0)
{
lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; uint8_t x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; uint8_t x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_675; 
x_76 = lean_ctor_get(x_75, 0);
lean_inc(x_76);
lean_dec_ref(x_75);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_71);
lean_inc_ref(x_1);
lean_inc(x_64);
x_675 = l_Lean_Meta_Grind_mkIsPreorderInst_x3f___redArg(x_64, x_1, x_71, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_675) == 0)
{
lean_object* x_676; lean_object* x_677; 
x_676 = lean_ctor_get(x_675, 0);
lean_inc(x_676);
lean_dec_ref(x_675);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_71);
lean_inc_ref(x_1);
lean_inc(x_64);
x_677 = l_Lean_Meta_Grind_mkIsPartialOrderInst_x3f___redArg(x_64, x_1, x_71, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_677) == 0)
{
lean_object* x_678; lean_object* x_679; 
x_678 = lean_ctor_get(x_677, 0);
lean_inc(x_678);
lean_dec_ref(x_677);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_71);
lean_inc_ref(x_1);
lean_inc(x_64);
x_679 = l_Lean_Meta_Grind_mkIsLinearOrderInst_x3f___redArg(x_64, x_1, x_71, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_679) == 0)
{
lean_object* x_680; lean_object* x_681; lean_object* x_682; lean_object* x_683; lean_object* x_684; lean_object* x_685; lean_object* x_686; lean_object* x_687; lean_object* x_688; lean_object* x_689; lean_object* x_690; lean_object* x_691; lean_object* x_692; lean_object* x_693; lean_object* x_694; lean_object* x_695; lean_object* x_696; lean_object* x_697; lean_object* x_698; lean_object* x_699; uint8_t x_700; lean_object* x_752; 
x_680 = lean_ctor_get(x_679, 0);
lean_inc(x_680);
lean_dec_ref(x_679);
x_752 = l_Lean_Meta_Grind_getConfig___redArg(x_4);
if (lean_obj_tag(x_752) == 0)
{
lean_object* x_753; uint8_t x_754; lean_object* x_755; lean_object* x_756; uint8_t x_757; lean_object* x_758; lean_object* x_759; lean_object* x_760; lean_object* x_761; lean_object* x_762; lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766; lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774; lean_object* x_775; uint8_t x_787; lean_object* x_788; lean_object* x_789; lean_object* x_790; lean_object* x_791; lean_object* x_792; lean_object* x_793; lean_object* x_794; lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; lean_object* x_806; uint8_t x_814; lean_object* x_815; lean_object* x_816; lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820; lean_object* x_821; lean_object* x_822; lean_object* x_823; lean_object* x_824; lean_object* x_825; lean_object* x_826; lean_object* x_827; lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831; lean_object* x_832; uint8_t x_835; lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851; lean_object* x_852; uint8_t x_855; 
x_753 = lean_ctor_get(x_752, 0);
lean_inc(x_753);
lean_dec_ref(x_752);
x_754 = lean_ctor_get_uint8(x_753, sizeof(void*)*10 + 19);
lean_dec(x_753);
lean_inc_ref(x_1);
x_755 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___lam__0), 2, 1);
lean_closure_set(x_755, 0, x_1);
if (x_754 == 0)
{
x_855 = x_754;
goto block_938;
}
else
{
if (lean_obj_tag(x_67) == 0)
{
uint8_t x_939; 
x_939 = 0;
x_855 = x_939;
goto block_938;
}
else
{
if (lean_obj_tag(x_676) == 0)
{
lean_object* x_940; lean_object* x_941; 
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec_ref(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec_ref(x_1);
x_940 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_941 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_940, x_755, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_941) == 0)
{
uint8_t x_942; 
x_942 = !lean_is_exclusive(x_941);
if (x_942 == 0)
{
lean_object* x_943; lean_object* x_944; 
x_943 = lean_ctor_get(x_941, 0);
lean_dec(x_943);
x_944 = lean_box(0);
lean_ctor_set(x_941, 0, x_944);
return x_941;
}
else
{
lean_object* x_945; lean_object* x_946; 
lean_dec(x_941);
x_945 = lean_box(0);
x_946 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_946, 0, x_945);
return x_946;
}
}
else
{
uint8_t x_947; 
x_947 = !lean_is_exclusive(x_941);
if (x_947 == 0)
{
return x_941;
}
else
{
lean_object* x_948; lean_object* x_949; 
x_948 = lean_ctor_get(x_941, 0);
lean_inc(x_948);
lean_dec(x_941);
x_949 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_949, 0, x_948);
return x_949;
}
}
}
else
{
uint8_t x_950; 
x_950 = 0;
x_855 = x_950;
goto block_938;
}
}
}
block_786:
{
if (lean_obj_tag(x_774) == 0)
{
lean_object* x_776; lean_object* x_777; 
lean_dec(x_775);
lean_dec(x_773);
lean_dec(x_772);
lean_dec(x_770);
lean_dec(x_769);
lean_dec(x_768);
lean_dec_ref(x_767);
lean_dec_ref(x_766);
lean_dec_ref(x_765);
lean_dec(x_764);
lean_dec(x_763);
lean_dec_ref(x_762);
lean_dec_ref(x_761);
lean_dec(x_760);
lean_dec_ref(x_759);
lean_dec(x_758);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_776 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_777 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_776, x_755, x_771);
lean_dec(x_771);
if (lean_obj_tag(x_777) == 0)
{
uint8_t x_778; 
x_778 = !lean_is_exclusive(x_777);
if (x_778 == 0)
{
lean_object* x_779; lean_object* x_780; 
x_779 = lean_ctor_get(x_777, 0);
lean_dec(x_779);
x_780 = lean_box(0);
lean_ctor_set(x_777, 0, x_780);
return x_777;
}
else
{
lean_object* x_781; lean_object* x_782; 
lean_dec(x_777);
x_781 = lean_box(0);
x_782 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_782, 0, x_781);
return x_782;
}
}
else
{
uint8_t x_783; 
x_783 = !lean_is_exclusive(x_777);
if (x_783 == 0)
{
return x_777;
}
else
{
lean_object* x_784; lean_object* x_785; 
x_784 = lean_ctor_get(x_777, 0);
lean_inc(x_784);
lean_dec(x_777);
x_785 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_785, 0, x_784);
return x_785;
}
}
}
else
{
lean_dec_ref(x_755);
x_681 = lean_box(0);
x_682 = x_758;
x_683 = x_759;
x_684 = x_760;
x_685 = x_761;
x_686 = x_762;
x_687 = x_763;
x_688 = x_764;
x_689 = x_765;
x_690 = x_766;
x_691 = x_767;
x_692 = x_768;
x_693 = x_770;
x_694 = x_769;
x_695 = x_771;
x_696 = x_772;
x_697 = x_773;
x_698 = x_774;
x_699 = x_775;
x_700 = x_757;
goto block_751;
}
}
block_813:
{
lean_object* x_807; 
x_807 = l_Lean_Meta_Grind_getConfig___redArg(x_796);
if (lean_obj_tag(x_807) == 0)
{
lean_object* x_808; uint8_t x_809; 
x_808 = lean_ctor_get(x_807, 0);
lean_inc(x_808);
lean_dec_ref(x_807);
x_809 = lean_ctor_get_uint8(x_808, sizeof(void*)*10 + 19);
lean_dec(x_808);
if (x_809 == 0)
{
lean_dec_ref(x_755);
x_681 = lean_box(0);
x_682 = x_788;
x_683 = x_789;
x_684 = x_790;
x_685 = x_791;
x_686 = x_792;
x_687 = x_793;
x_688 = x_794;
x_689 = x_795;
x_690 = x_796;
x_691 = x_797;
x_692 = x_799;
x_693 = x_801;
x_694 = x_800;
x_695 = x_802;
x_696 = x_803;
x_697 = x_804;
x_698 = x_806;
x_699 = x_805;
x_700 = x_809;
goto block_751;
}
else
{
if (lean_obj_tag(x_67) == 0)
{
if (x_787 == 0)
{
lean_dec_ref(x_755);
x_681 = lean_box(0);
x_682 = x_788;
x_683 = x_789;
x_684 = x_790;
x_685 = x_791;
x_686 = x_792;
x_687 = x_793;
x_688 = x_794;
x_689 = x_795;
x_690 = x_796;
x_691 = x_797;
x_692 = x_799;
x_693 = x_801;
x_694 = x_800;
x_695 = x_802;
x_696 = x_803;
x_697 = x_804;
x_698 = x_806;
x_699 = x_805;
x_700 = x_787;
goto block_751;
}
else
{
x_756 = lean_box(0);
x_757 = x_787;
x_758 = x_788;
x_759 = x_789;
x_760 = x_790;
x_761 = x_791;
x_762 = x_792;
x_763 = x_793;
x_764 = x_794;
x_765 = x_795;
x_766 = x_796;
x_767 = x_797;
x_768 = x_799;
x_769 = x_800;
x_770 = x_801;
x_771 = x_802;
x_772 = x_803;
x_773 = x_804;
x_774 = x_806;
x_775 = x_805;
goto block_786;
}
}
else
{
x_756 = lean_box(0);
x_757 = x_787;
x_758 = x_788;
x_759 = x_789;
x_760 = x_790;
x_761 = x_791;
x_762 = x_792;
x_763 = x_793;
x_764 = x_794;
x_765 = x_795;
x_766 = x_796;
x_767 = x_797;
x_768 = x_799;
x_769 = x_800;
x_770 = x_801;
x_771 = x_802;
x_772 = x_803;
x_773 = x_804;
x_774 = x_806;
x_775 = x_805;
goto block_786;
}
}
}
else
{
uint8_t x_810; 
lean_dec(x_806);
lean_dec(x_805);
lean_dec(x_804);
lean_dec(x_803);
lean_dec(x_802);
lean_dec(x_801);
lean_dec(x_800);
lean_dec(x_799);
lean_dec_ref(x_797);
lean_dec_ref(x_796);
lean_dec_ref(x_795);
lean_dec(x_794);
lean_dec(x_793);
lean_dec_ref(x_792);
lean_dec_ref(x_791);
lean_dec(x_790);
lean_dec_ref(x_789);
lean_dec(x_788);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_810 = !lean_is_exclusive(x_807);
if (x_810 == 0)
{
return x_807;
}
else
{
lean_object* x_811; lean_object* x_812; 
x_811 = lean_ctor_get(x_807, 0);
lean_inc(x_811);
lean_dec(x_807);
x_812 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_812, 0, x_811);
return x_812;
}
}
}
block_834:
{
lean_object* x_833; 
x_833 = lean_box(0);
x_787 = x_814;
x_788 = x_815;
x_789 = x_816;
x_790 = x_817;
x_791 = x_818;
x_792 = x_819;
x_793 = x_820;
x_794 = x_821;
x_795 = x_822;
x_796 = x_823;
x_797 = x_824;
x_798 = lean_box(0);
x_799 = x_826;
x_800 = x_828;
x_801 = x_827;
x_802 = x_829;
x_803 = x_830;
x_804 = x_831;
x_805 = x_832;
x_806 = x_833;
goto block_813;
}
block_854:
{
lean_object* x_853; 
x_853 = lean_box(0);
x_814 = x_835;
x_815 = x_845;
x_816 = x_837;
x_817 = x_838;
x_818 = x_850;
x_819 = x_840;
x_820 = x_842;
x_821 = x_847;
x_822 = x_848;
x_823 = x_846;
x_824 = x_836;
x_825 = lean_box(0);
x_826 = x_849;
x_827 = x_839;
x_828 = x_853;
x_829 = x_844;
x_830 = x_841;
x_831 = x_843;
x_832 = x_851;
goto block_834;
}
block_938:
{
lean_object* x_856; 
lean_inc(x_67);
x_856 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getCommRingInst_x3f(x_67, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_856) == 0)
{
lean_object* x_857; lean_object* x_858; 
x_857 = lean_ctor_get(x_856, 0);
lean_inc(x_857);
lean_dec_ref(x_856);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_857);
lean_inc_ref(x_1);
lean_inc(x_64);
x_858 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg(x_64, x_1, x_857, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_858) == 0)
{
lean_object* x_859; lean_object* x_860; 
x_859 = lean_ctor_get(x_858, 0);
lean_inc(x_859);
lean_dec_ref(x_858);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_859);
lean_inc_ref(x_1);
lean_inc(x_64);
x_860 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg(x_64, x_1, x_859, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_860) == 0)
{
uint8_t x_861; 
x_861 = !lean_is_exclusive(x_860);
if (x_861 == 0)
{
lean_object* x_862; 
x_862 = lean_ctor_get(x_860, 0);
if (lean_obj_tag(x_862) == 1)
{
lean_object* x_863; lean_object* x_864; lean_object* x_865; 
lean_free_object(x_860);
x_863 = lean_ctor_get(x_862, 0);
lean_inc(x_863);
lean_dec_ref(x_862);
x_864 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_64);
x_865 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_864, x_64, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_865) == 0)
{
lean_object* x_866; lean_object* x_867; lean_object* x_868; lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874; 
x_866 = lean_ctor_get(x_865, 0);
lean_inc(x_866);
lean_dec_ref(x_865);
x_867 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65;
x_868 = lean_box(0);
lean_inc(x_64);
x_869 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_869, 0, x_64);
lean_ctor_set(x_869, 1, x_868);
lean_inc_ref(x_869);
lean_inc(x_64);
x_870 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_870, 0, x_64);
lean_ctor_set(x_870, 1, x_869);
lean_inc_ref(x_870);
lean_inc(x_64);
x_871 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_871, 0, x_64);
lean_ctor_set(x_871, 1, x_870);
lean_inc_ref(x_871);
x_872 = l_Lean_mkConst(x_867, x_871);
lean_inc(x_866);
lean_inc_ref_n(x_1, 3);
x_873 = l_Lean_mkApp4(x_872, x_1, x_1, x_1, x_866);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_874 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_873, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_874) == 0)
{
if (lean_obj_tag(x_71) == 1)
{
if (lean_obj_tag(x_676) == 1)
{
lean_object* x_875; lean_object* x_876; lean_object* x_877; lean_object* x_878; lean_object* x_879; lean_object* x_880; lean_object* x_881; 
x_875 = lean_ctor_get(x_874, 0);
lean_inc(x_875);
lean_dec_ref(x_874);
x_876 = lean_ctor_get(x_71, 0);
x_877 = lean_ctor_get(x_676, 0);
x_878 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67;
lean_inc_ref(x_869);
x_879 = l_Lean_mkConst(x_878, x_869);
lean_inc(x_877);
lean_inc(x_876);
lean_inc(x_866);
lean_inc_ref(x_1);
x_880 = l_Lean_mkApp4(x_879, x_1, x_866, x_876, x_877);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
x_881 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_880, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_881) == 0)
{
lean_object* x_882; 
x_882 = lean_ctor_get(x_881, 0);
lean_inc(x_882);
lean_dec_ref(x_881);
if (lean_obj_tag(x_882) == 0)
{
lean_dec_ref(x_676);
x_814 = x_855;
x_815 = x_3;
x_816 = x_866;
x_817 = x_859;
x_818 = x_8;
x_819 = x_875;
x_820 = x_869;
x_821 = x_5;
x_822 = x_6;
x_823 = x_4;
x_824 = x_863;
x_825 = lean_box(0);
x_826 = x_7;
x_827 = x_870;
x_828 = x_882;
x_829 = x_2;
x_830 = x_871;
x_831 = x_857;
x_832 = x_9;
goto block_834;
}
else
{
if (x_855 == 0)
{
x_787 = x_855;
x_788 = x_3;
x_789 = x_866;
x_790 = x_859;
x_791 = x_8;
x_792 = x_875;
x_793 = x_869;
x_794 = x_5;
x_795 = x_6;
x_796 = x_4;
x_797 = x_863;
x_798 = lean_box(0);
x_799 = x_7;
x_800 = x_882;
x_801 = x_870;
x_802 = x_2;
x_803 = x_871;
x_804 = x_857;
x_805 = x_9;
x_806 = x_676;
goto block_813;
}
else
{
lean_dec_ref(x_676);
x_814 = x_855;
x_815 = x_3;
x_816 = x_866;
x_817 = x_859;
x_818 = x_8;
x_819 = x_875;
x_820 = x_869;
x_821 = x_5;
x_822 = x_6;
x_823 = x_4;
x_824 = x_863;
x_825 = lean_box(0);
x_826 = x_7;
x_827 = x_870;
x_828 = x_882;
x_829 = x_2;
x_830 = x_871;
x_831 = x_857;
x_832 = x_9;
goto block_834;
}
}
}
else
{
uint8_t x_883; 
lean_dec(x_875);
lean_dec_ref(x_871);
lean_dec_ref(x_870);
lean_dec_ref(x_869);
lean_dec(x_866);
lean_dec(x_863);
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec_ref(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec_ref(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_883 = !lean_is_exclusive(x_881);
if (x_883 == 0)
{
return x_881;
}
else
{
lean_object* x_884; lean_object* x_885; 
x_884 = lean_ctor_get(x_881, 0);
lean_inc(x_884);
lean_dec(x_881);
x_885 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_885, 0, x_884);
return x_885;
}
}
}
else
{
lean_object* x_886; 
lean_dec(x_676);
x_886 = lean_ctor_get(x_874, 0);
lean_inc(x_886);
lean_dec_ref(x_874);
x_835 = x_855;
x_836 = x_863;
x_837 = x_866;
x_838 = x_859;
x_839 = x_870;
x_840 = x_886;
x_841 = x_871;
x_842 = x_869;
x_843 = x_857;
x_844 = x_2;
x_845 = x_3;
x_846 = x_4;
x_847 = x_5;
x_848 = x_6;
x_849 = x_7;
x_850 = x_8;
x_851 = x_9;
x_852 = lean_box(0);
goto block_854;
}
}
else
{
lean_object* x_887; 
lean_dec(x_676);
x_887 = lean_ctor_get(x_874, 0);
lean_inc(x_887);
lean_dec_ref(x_874);
x_835 = x_855;
x_836 = x_863;
x_837 = x_866;
x_838 = x_859;
x_839 = x_870;
x_840 = x_887;
x_841 = x_871;
x_842 = x_869;
x_843 = x_857;
x_844 = x_2;
x_845 = x_3;
x_846 = x_4;
x_847 = x_5;
x_848 = x_6;
x_849 = x_7;
x_850 = x_8;
x_851 = x_9;
x_852 = lean_box(0);
goto block_854;
}
}
else
{
uint8_t x_888; 
lean_dec_ref(x_871);
lean_dec_ref(x_870);
lean_dec_ref(x_869);
lean_dec(x_866);
lean_dec(x_863);
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_888 = !lean_is_exclusive(x_874);
if (x_888 == 0)
{
return x_874;
}
else
{
lean_object* x_889; lean_object* x_890; 
x_889 = lean_ctor_get(x_874, 0);
lean_inc(x_889);
lean_dec(x_874);
x_890 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_890, 0, x_889);
return x_890;
}
}
}
else
{
uint8_t x_891; 
lean_dec(x_863);
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_891 = !lean_is_exclusive(x_865);
if (x_891 == 0)
{
return x_865;
}
else
{
lean_object* x_892; lean_object* x_893; 
x_892 = lean_ctor_get(x_865, 0);
lean_inc(x_892);
lean_dec(x_865);
x_893 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_893, 0, x_892);
return x_893;
}
}
}
else
{
lean_object* x_894; 
lean_dec(x_862);
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_894 = lean_box(0);
lean_ctor_set(x_860, 0, x_894);
return x_860;
}
}
else
{
lean_object* x_895; 
x_895 = lean_ctor_get(x_860, 0);
lean_inc(x_895);
lean_dec(x_860);
if (lean_obj_tag(x_895) == 1)
{
lean_object* x_896; lean_object* x_897; lean_object* x_898; 
x_896 = lean_ctor_get(x_895, 0);
lean_inc(x_896);
lean_dec_ref(x_895);
x_897 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_64);
x_898 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_897, x_64, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_898) == 0)
{
lean_object* x_899; lean_object* x_900; lean_object* x_901; lean_object* x_902; lean_object* x_903; lean_object* x_904; lean_object* x_905; lean_object* x_906; lean_object* x_907; 
x_899 = lean_ctor_get(x_898, 0);
lean_inc(x_899);
lean_dec_ref(x_898);
x_900 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65;
x_901 = lean_box(0);
lean_inc(x_64);
x_902 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_902, 0, x_64);
lean_ctor_set(x_902, 1, x_901);
lean_inc_ref(x_902);
lean_inc(x_64);
x_903 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_903, 0, x_64);
lean_ctor_set(x_903, 1, x_902);
lean_inc_ref(x_903);
lean_inc(x_64);
x_904 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_904, 0, x_64);
lean_ctor_set(x_904, 1, x_903);
lean_inc_ref(x_904);
x_905 = l_Lean_mkConst(x_900, x_904);
lean_inc(x_899);
lean_inc_ref_n(x_1, 3);
x_906 = l_Lean_mkApp4(x_905, x_1, x_1, x_1, x_899);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_907 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_906, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_907) == 0)
{
if (lean_obj_tag(x_71) == 1)
{
if (lean_obj_tag(x_676) == 1)
{
lean_object* x_908; lean_object* x_909; lean_object* x_910; lean_object* x_911; lean_object* x_912; lean_object* x_913; lean_object* x_914; 
x_908 = lean_ctor_get(x_907, 0);
lean_inc(x_908);
lean_dec_ref(x_907);
x_909 = lean_ctor_get(x_71, 0);
x_910 = lean_ctor_get(x_676, 0);
x_911 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67;
lean_inc_ref(x_902);
x_912 = l_Lean_mkConst(x_911, x_902);
lean_inc(x_910);
lean_inc(x_909);
lean_inc(x_899);
lean_inc_ref(x_1);
x_913 = l_Lean_mkApp4(x_912, x_1, x_899, x_909, x_910);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
x_914 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_913, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_914) == 0)
{
lean_object* x_915; 
x_915 = lean_ctor_get(x_914, 0);
lean_inc(x_915);
lean_dec_ref(x_914);
if (lean_obj_tag(x_915) == 0)
{
lean_dec_ref(x_676);
x_814 = x_855;
x_815 = x_3;
x_816 = x_899;
x_817 = x_859;
x_818 = x_8;
x_819 = x_908;
x_820 = x_902;
x_821 = x_5;
x_822 = x_6;
x_823 = x_4;
x_824 = x_896;
x_825 = lean_box(0);
x_826 = x_7;
x_827 = x_903;
x_828 = x_915;
x_829 = x_2;
x_830 = x_904;
x_831 = x_857;
x_832 = x_9;
goto block_834;
}
else
{
if (x_855 == 0)
{
x_787 = x_855;
x_788 = x_3;
x_789 = x_899;
x_790 = x_859;
x_791 = x_8;
x_792 = x_908;
x_793 = x_902;
x_794 = x_5;
x_795 = x_6;
x_796 = x_4;
x_797 = x_896;
x_798 = lean_box(0);
x_799 = x_7;
x_800 = x_915;
x_801 = x_903;
x_802 = x_2;
x_803 = x_904;
x_804 = x_857;
x_805 = x_9;
x_806 = x_676;
goto block_813;
}
else
{
lean_dec_ref(x_676);
x_814 = x_855;
x_815 = x_3;
x_816 = x_899;
x_817 = x_859;
x_818 = x_8;
x_819 = x_908;
x_820 = x_902;
x_821 = x_5;
x_822 = x_6;
x_823 = x_4;
x_824 = x_896;
x_825 = lean_box(0);
x_826 = x_7;
x_827 = x_903;
x_828 = x_915;
x_829 = x_2;
x_830 = x_904;
x_831 = x_857;
x_832 = x_9;
goto block_834;
}
}
}
else
{
lean_object* x_916; lean_object* x_917; lean_object* x_918; 
lean_dec(x_908);
lean_dec_ref(x_904);
lean_dec_ref(x_903);
lean_dec_ref(x_902);
lean_dec(x_899);
lean_dec(x_896);
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec_ref(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec_ref(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_916 = lean_ctor_get(x_914, 0);
lean_inc(x_916);
if (lean_is_exclusive(x_914)) {
 lean_ctor_release(x_914, 0);
 x_917 = x_914;
} else {
 lean_dec_ref(x_914);
 x_917 = lean_box(0);
}
if (lean_is_scalar(x_917)) {
 x_918 = lean_alloc_ctor(1, 1, 0);
} else {
 x_918 = x_917;
}
lean_ctor_set(x_918, 0, x_916);
return x_918;
}
}
else
{
lean_object* x_919; 
lean_dec(x_676);
x_919 = lean_ctor_get(x_907, 0);
lean_inc(x_919);
lean_dec_ref(x_907);
x_835 = x_855;
x_836 = x_896;
x_837 = x_899;
x_838 = x_859;
x_839 = x_903;
x_840 = x_919;
x_841 = x_904;
x_842 = x_902;
x_843 = x_857;
x_844 = x_2;
x_845 = x_3;
x_846 = x_4;
x_847 = x_5;
x_848 = x_6;
x_849 = x_7;
x_850 = x_8;
x_851 = x_9;
x_852 = lean_box(0);
goto block_854;
}
}
else
{
lean_object* x_920; 
lean_dec(x_676);
x_920 = lean_ctor_get(x_907, 0);
lean_inc(x_920);
lean_dec_ref(x_907);
x_835 = x_855;
x_836 = x_896;
x_837 = x_899;
x_838 = x_859;
x_839 = x_903;
x_840 = x_920;
x_841 = x_904;
x_842 = x_902;
x_843 = x_857;
x_844 = x_2;
x_845 = x_3;
x_846 = x_4;
x_847 = x_5;
x_848 = x_6;
x_849 = x_7;
x_850 = x_8;
x_851 = x_9;
x_852 = lean_box(0);
goto block_854;
}
}
else
{
lean_object* x_921; lean_object* x_922; lean_object* x_923; 
lean_dec_ref(x_904);
lean_dec_ref(x_903);
lean_dec_ref(x_902);
lean_dec(x_899);
lean_dec(x_896);
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_921 = lean_ctor_get(x_907, 0);
lean_inc(x_921);
if (lean_is_exclusive(x_907)) {
 lean_ctor_release(x_907, 0);
 x_922 = x_907;
} else {
 lean_dec_ref(x_907);
 x_922 = lean_box(0);
}
if (lean_is_scalar(x_922)) {
 x_923 = lean_alloc_ctor(1, 1, 0);
} else {
 x_923 = x_922;
}
lean_ctor_set(x_923, 0, x_921);
return x_923;
}
}
else
{
lean_object* x_924; lean_object* x_925; lean_object* x_926; 
lean_dec(x_896);
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_924 = lean_ctor_get(x_898, 0);
lean_inc(x_924);
if (lean_is_exclusive(x_898)) {
 lean_ctor_release(x_898, 0);
 x_925 = x_898;
} else {
 lean_dec_ref(x_898);
 x_925 = lean_box(0);
}
if (lean_is_scalar(x_925)) {
 x_926 = lean_alloc_ctor(1, 1, 0);
} else {
 x_926 = x_925;
}
lean_ctor_set(x_926, 0, x_924);
return x_926;
}
}
else
{
lean_object* x_927; lean_object* x_928; 
lean_dec(x_895);
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_927 = lean_box(0);
x_928 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_928, 0, x_927);
return x_928;
}
}
}
else
{
uint8_t x_929; 
lean_dec(x_859);
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_929 = !lean_is_exclusive(x_860);
if (x_929 == 0)
{
return x_860;
}
else
{
lean_object* x_930; lean_object* x_931; 
x_930 = lean_ctor_get(x_860, 0);
lean_inc(x_930);
lean_dec(x_860);
x_931 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_931, 0, x_930);
return x_931;
}
}
}
else
{
uint8_t x_932; 
lean_dec(x_857);
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_932 = !lean_is_exclusive(x_858);
if (x_932 == 0)
{
return x_858;
}
else
{
lean_object* x_933; lean_object* x_934; 
x_933 = lean_ctor_get(x_858, 0);
lean_inc(x_933);
lean_dec(x_858);
x_934 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_934, 0, x_933);
return x_934;
}
}
}
else
{
uint8_t x_935; 
lean_dec_ref(x_755);
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_935 = !lean_is_exclusive(x_856);
if (x_935 == 0)
{
return x_856;
}
else
{
lean_object* x_936; lean_object* x_937; 
x_936 = lean_ctor_get(x_856, 0);
lean_inc(x_936);
lean_dec(x_856);
x_937 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_937, 0, x_936);
return x_937;
}
}
}
}
else
{
uint8_t x_951; 
lean_dec(x_680);
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_951 = !lean_is_exclusive(x_752);
if (x_951 == 0)
{
return x_752;
}
else
{
lean_object* x_952; lean_object* x_953; 
x_952 = lean_ctor_get(x_752, 0);
lean_inc(x_952);
lean_dec(x_752);
x_953 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_953, 0, x_952);
return x_953;
}
}
block_751:
{
lean_object* x_701; lean_object* x_702; 
x_701 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__51;
lean_inc(x_699);
lean_inc_ref(x_685);
lean_inc(x_692);
lean_inc_ref(x_689);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc(x_698);
lean_inc(x_71);
x_702 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg(x_71, x_698, x_678, x_701, x_64, x_1, x_682, x_690, x_688, x_689, x_692, x_685, x_699);
if (lean_obj_tag(x_702) == 0)
{
lean_object* x_703; lean_object* x_704; lean_object* x_705; 
x_703 = lean_ctor_get(x_702, 0);
lean_inc(x_703);
lean_dec_ref(x_702);
x_704 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__54;
lean_inc(x_699);
lean_inc_ref(x_685);
lean_inc(x_692);
lean_inc_ref(x_689);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc(x_71);
x_705 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg(x_71, x_703, x_680, x_704, x_64, x_1, x_682, x_690, x_688, x_689, x_692, x_685, x_699);
if (lean_obj_tag(x_705) == 0)
{
lean_object* x_706; lean_object* x_707; 
x_706 = lean_ctor_get(x_705, 0);
lean_inc(x_706);
lean_dec_ref(x_705);
lean_inc(x_699);
lean_inc_ref(x_685);
lean_inc(x_692);
lean_inc_ref(x_689);
lean_inc(x_684);
lean_inc_ref(x_1);
lean_inc(x_64);
x_707 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg(x_64, x_1, x_684, x_689, x_692, x_685, x_699);
if (lean_obj_tag(x_707) == 0)
{
lean_object* x_708; lean_object* x_709; lean_object* x_710; lean_object* x_711; lean_object* x_712; 
x_708 = lean_ctor_get(x_707, 0);
lean_inc(x_708);
lean_dec_ref(x_707);
x_709 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_710 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_711 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__56;
lean_inc(x_699);
lean_inc_ref(x_685);
lean_inc(x_692);
lean_inc_ref(x_689);
lean_inc_ref(x_1);
lean_inc(x_64);
x_712 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_711, x_64, x_1, x_689, x_692, x_685, x_699);
if (lean_obj_tag(x_712) == 0)
{
lean_object* x_713; lean_object* x_714; 
x_713 = lean_ctor_get(x_712, 0);
lean_inc(x_713);
lean_dec_ref(x_712);
lean_inc(x_699);
lean_inc_ref(x_685);
lean_inc(x_692);
lean_inc_ref(x_689);
lean_inc(x_688);
lean_inc_ref(x_690);
lean_inc(x_682);
lean_inc(x_695);
lean_inc_ref(x_1);
lean_inc(x_64);
x_714 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f(x_64, x_1, x_695, x_682, x_690, x_688, x_689, x_692, x_685, x_699);
if (lean_obj_tag(x_714) == 0)
{
lean_object* x_715; lean_object* x_716; 
x_715 = lean_ctor_get(x_714, 0);
lean_inc(x_715);
lean_dec_ref(x_714);
lean_inc(x_699);
lean_inc_ref(x_685);
lean_inc(x_692);
lean_inc_ref(x_689);
lean_inc(x_698);
lean_inc(x_74);
lean_inc(x_71);
lean_inc(x_708);
lean_inc_ref(x_1);
lean_inc(x_64);
x_716 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg(x_64, x_1, x_708, x_71, x_74, x_698, x_682, x_690, x_688, x_689, x_692, x_685, x_699);
if (lean_obj_tag(x_716) == 0)
{
lean_object* x_717; lean_object* x_718; lean_object* x_719; lean_object* x_720; lean_object* x_721; lean_object* x_722; lean_object* x_723; lean_object* x_724; lean_object* x_725; 
x_717 = lean_ctor_get(x_716, 0);
lean_inc(x_717);
lean_dec_ref(x_716);
x_718 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2;
x_719 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__58;
lean_inc(x_687);
x_720 = l_Lean_mkConst(x_719, x_687);
lean_inc_ref(x_691);
lean_inc_ref(x_1);
x_721 = l_Lean_mkAppB(x_720, x_1, x_691);
x_722 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__59;
x_723 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__61;
lean_inc(x_687);
x_724 = l_Lean_mkConst(x_723, x_687);
lean_inc_ref(x_721);
lean_inc_ref(x_1);
x_725 = l_Lean_mkAppB(x_724, x_1, x_721);
if (lean_obj_tag(x_708) == 1)
{
lean_object* x_726; lean_object* x_727; 
x_726 = lean_ctor_get(x_708, 0);
lean_inc(x_726);
lean_dec_ref(x_708);
lean_inc(x_699);
lean_inc_ref(x_685);
lean_inc(x_692);
lean_inc_ref(x_689);
lean_inc(x_688);
lean_inc_ref(x_690);
lean_inc(x_682);
lean_inc(x_695);
lean_inc_ref(x_1);
lean_inc(x_64);
x_727 = l_Lean_Meta_Grind_Arith_getIsCharInst_x3f(x_64, x_1, x_726, x_695, x_682, x_690, x_688, x_689, x_692, x_685, x_699);
if (lean_obj_tag(x_727) == 0)
{
lean_object* x_728; 
x_728 = lean_ctor_get(x_727, 0);
lean_inc(x_728);
lean_dec_ref(x_727);
x_242 = x_715;
x_243 = x_683;
x_244 = x_713;
x_245 = x_722;
x_246 = x_717;
x_247 = x_718;
x_248 = x_684;
x_249 = x_710;
x_250 = x_725;
x_251 = x_686;
x_252 = x_687;
x_253 = x_700;
x_254 = x_709;
x_255 = x_691;
x_256 = x_706;
x_257 = x_694;
x_258 = x_693;
x_259 = x_696;
x_260 = x_721;
x_261 = x_697;
x_262 = x_698;
x_263 = x_728;
x_264 = x_695;
x_265 = x_682;
x_266 = x_690;
x_267 = x_688;
x_268 = x_689;
x_269 = x_692;
x_270 = x_685;
x_271 = x_699;
x_272 = lean_box(0);
goto block_674;
}
else
{
uint8_t x_729; 
lean_dec_ref(x_725);
lean_dec_ref(x_721);
lean_dec(x_717);
lean_dec(x_715);
lean_dec(x_713);
lean_dec(x_706);
lean_dec(x_699);
lean_dec(x_698);
lean_dec(x_697);
lean_dec(x_696);
lean_dec(x_695);
lean_dec(x_694);
lean_dec(x_693);
lean_dec(x_692);
lean_dec_ref(x_691);
lean_dec_ref(x_690);
lean_dec_ref(x_689);
lean_dec(x_688);
lean_dec(x_687);
lean_dec_ref(x_686);
lean_dec_ref(x_685);
lean_dec(x_684);
lean_dec_ref(x_683);
lean_dec(x_682);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_729 = !lean_is_exclusive(x_727);
if (x_729 == 0)
{
return x_727;
}
else
{
lean_object* x_730; lean_object* x_731; 
x_730 = lean_ctor_get(x_727, 0);
lean_inc(x_730);
lean_dec(x_727);
x_731 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_731, 0, x_730);
return x_731;
}
}
}
else
{
lean_object* x_732; 
lean_dec(x_708);
x_732 = lean_box(0);
x_242 = x_715;
x_243 = x_683;
x_244 = x_713;
x_245 = x_722;
x_246 = x_717;
x_247 = x_718;
x_248 = x_684;
x_249 = x_710;
x_250 = x_725;
x_251 = x_686;
x_252 = x_687;
x_253 = x_700;
x_254 = x_709;
x_255 = x_691;
x_256 = x_706;
x_257 = x_694;
x_258 = x_693;
x_259 = x_696;
x_260 = x_721;
x_261 = x_697;
x_262 = x_698;
x_263 = x_732;
x_264 = x_695;
x_265 = x_682;
x_266 = x_690;
x_267 = x_688;
x_268 = x_689;
x_269 = x_692;
x_270 = x_685;
x_271 = x_699;
x_272 = lean_box(0);
goto block_674;
}
}
else
{
uint8_t x_733; 
lean_dec(x_715);
lean_dec(x_713);
lean_dec(x_708);
lean_dec(x_706);
lean_dec(x_699);
lean_dec(x_698);
lean_dec(x_697);
lean_dec(x_696);
lean_dec(x_695);
lean_dec(x_694);
lean_dec(x_693);
lean_dec(x_692);
lean_dec_ref(x_691);
lean_dec_ref(x_690);
lean_dec_ref(x_689);
lean_dec(x_688);
lean_dec(x_687);
lean_dec_ref(x_686);
lean_dec_ref(x_685);
lean_dec(x_684);
lean_dec_ref(x_683);
lean_dec(x_682);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_733 = !lean_is_exclusive(x_716);
if (x_733 == 0)
{
return x_716;
}
else
{
lean_object* x_734; lean_object* x_735; 
x_734 = lean_ctor_get(x_716, 0);
lean_inc(x_734);
lean_dec(x_716);
x_735 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_735, 0, x_734);
return x_735;
}
}
}
else
{
uint8_t x_736; 
lean_dec(x_713);
lean_dec(x_708);
lean_dec(x_706);
lean_dec(x_699);
lean_dec(x_698);
lean_dec(x_697);
lean_dec(x_696);
lean_dec(x_695);
lean_dec(x_694);
lean_dec(x_693);
lean_dec(x_692);
lean_dec_ref(x_691);
lean_dec_ref(x_690);
lean_dec_ref(x_689);
lean_dec(x_688);
lean_dec(x_687);
lean_dec_ref(x_686);
lean_dec_ref(x_685);
lean_dec(x_684);
lean_dec_ref(x_683);
lean_dec(x_682);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_736 = !lean_is_exclusive(x_714);
if (x_736 == 0)
{
return x_714;
}
else
{
lean_object* x_737; lean_object* x_738; 
x_737 = lean_ctor_get(x_714, 0);
lean_inc(x_737);
lean_dec(x_714);
x_738 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_738, 0, x_737);
return x_738;
}
}
}
else
{
uint8_t x_739; 
lean_dec(x_708);
lean_dec(x_706);
lean_dec(x_699);
lean_dec(x_698);
lean_dec(x_697);
lean_dec(x_696);
lean_dec(x_695);
lean_dec(x_694);
lean_dec(x_693);
lean_dec(x_692);
lean_dec_ref(x_691);
lean_dec_ref(x_690);
lean_dec_ref(x_689);
lean_dec(x_688);
lean_dec(x_687);
lean_dec_ref(x_686);
lean_dec_ref(x_685);
lean_dec(x_684);
lean_dec_ref(x_683);
lean_dec(x_682);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_739 = !lean_is_exclusive(x_712);
if (x_739 == 0)
{
return x_712;
}
else
{
lean_object* x_740; lean_object* x_741; 
x_740 = lean_ctor_get(x_712, 0);
lean_inc(x_740);
lean_dec(x_712);
x_741 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_741, 0, x_740);
return x_741;
}
}
}
else
{
uint8_t x_742; 
lean_dec(x_706);
lean_dec(x_699);
lean_dec(x_698);
lean_dec(x_697);
lean_dec(x_696);
lean_dec(x_695);
lean_dec(x_694);
lean_dec(x_693);
lean_dec(x_692);
lean_dec_ref(x_691);
lean_dec_ref(x_690);
lean_dec_ref(x_689);
lean_dec(x_688);
lean_dec(x_687);
lean_dec_ref(x_686);
lean_dec_ref(x_685);
lean_dec(x_684);
lean_dec_ref(x_683);
lean_dec(x_682);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_742 = !lean_is_exclusive(x_707);
if (x_742 == 0)
{
return x_707;
}
else
{
lean_object* x_743; lean_object* x_744; 
x_743 = lean_ctor_get(x_707, 0);
lean_inc(x_743);
lean_dec(x_707);
x_744 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_744, 0, x_743);
return x_744;
}
}
}
else
{
uint8_t x_745; 
lean_dec(x_699);
lean_dec(x_698);
lean_dec(x_697);
lean_dec(x_696);
lean_dec(x_695);
lean_dec(x_694);
lean_dec(x_693);
lean_dec(x_692);
lean_dec_ref(x_691);
lean_dec_ref(x_690);
lean_dec_ref(x_689);
lean_dec(x_688);
lean_dec(x_687);
lean_dec_ref(x_686);
lean_dec_ref(x_685);
lean_dec(x_684);
lean_dec_ref(x_683);
lean_dec(x_682);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_745 = !lean_is_exclusive(x_705);
if (x_745 == 0)
{
return x_705;
}
else
{
lean_object* x_746; lean_object* x_747; 
x_746 = lean_ctor_get(x_705, 0);
lean_inc(x_746);
lean_dec(x_705);
x_747 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_747, 0, x_746);
return x_747;
}
}
}
else
{
uint8_t x_748; 
lean_dec(x_699);
lean_dec(x_698);
lean_dec(x_697);
lean_dec(x_696);
lean_dec(x_695);
lean_dec(x_694);
lean_dec(x_693);
lean_dec(x_692);
lean_dec_ref(x_691);
lean_dec_ref(x_690);
lean_dec_ref(x_689);
lean_dec(x_688);
lean_dec(x_687);
lean_dec_ref(x_686);
lean_dec_ref(x_685);
lean_dec(x_684);
lean_dec_ref(x_683);
lean_dec(x_682);
lean_dec(x_680);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_748 = !lean_is_exclusive(x_702);
if (x_748 == 0)
{
return x_702;
}
else
{
lean_object* x_749; lean_object* x_750; 
x_749 = lean_ctor_get(x_702, 0);
lean_inc(x_749);
lean_dec(x_702);
x_750 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_750, 0, x_749);
return x_750;
}
}
}
}
else
{
uint8_t x_954; 
lean_dec(x_678);
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_954 = !lean_is_exclusive(x_679);
if (x_954 == 0)
{
return x_679;
}
else
{
lean_object* x_955; lean_object* x_956; 
x_955 = lean_ctor_get(x_679, 0);
lean_inc(x_955);
lean_dec(x_679);
x_956 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_956, 0, x_955);
return x_956;
}
}
}
else
{
uint8_t x_957; 
lean_dec(x_676);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_957 = !lean_is_exclusive(x_677);
if (x_957 == 0)
{
return x_677;
}
else
{
lean_object* x_958; lean_object* x_959; 
x_958 = lean_ctor_get(x_677, 0);
lean_inc(x_958);
lean_dec(x_677);
x_959 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_959, 0, x_958);
return x_959;
}
}
}
else
{
uint8_t x_960; 
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_960 = !lean_is_exclusive(x_675);
if (x_960 == 0)
{
return x_675;
}
else
{
lean_object* x_961; lean_object* x_962; 
x_961 = lean_ctor_get(x_675, 0);
lean_inc(x_961);
lean_dec(x_675);
x_962 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_962, 0, x_961);
return x_962;
}
}
block_137:
{
lean_object* x_111; 
x_111 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_102, x_108);
if (lean_obj_tag(x_111) == 0)
{
lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; size_t x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; 
x_112 = lean_ctor_get(x_111, 0);
lean_inc(x_112);
lean_dec_ref(x_111);
x_113 = lean_ctor_get(x_112, 0);
lean_inc_ref(x_113);
lean_dec(x_112);
x_114 = lean_array_get_size(x_113);
lean_dec_ref(x_113);
x_115 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__4;
x_116 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__5;
x_117 = 5;
lean_inc(x_94);
x_118 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(x_118, 0, x_116);
lean_ctor_set(x_118, 1, x_115);
lean_ctor_set(x_118, 2, x_94);
lean_ctor_set(x_118, 3, x_94);
lean_ctor_set_usize(x_118, 4, x_117);
x_119 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__7;
x_120 = lean_box(0);
x_121 = lean_box(0);
lean_inc_ref_n(x_118, 7);
lean_inc(x_79);
lean_inc(x_98);
lean_inc(x_82);
lean_inc(x_83);
lean_inc(x_85);
lean_inc(x_114);
x_122 = lean_alloc_ctor(0, 42, 1);
lean_ctor_set(x_122, 0, x_114);
lean_ctor_set(x_122, 1, x_67);
lean_ctor_set(x_122, 2, x_1);
lean_ctor_set(x_122, 3, x_64);
lean_ctor_set(x_122, 4, x_90);
lean_ctor_set(x_122, 5, x_71);
lean_ctor_set(x_122, 6, x_74);
lean_ctor_set(x_122, 7, x_76);
lean_ctor_set(x_122, 8, x_96);
lean_ctor_set(x_122, 9, x_92);
lean_ctor_set(x_122, 10, x_91);
lean_ctor_set(x_122, 11, x_100);
lean_ctor_set(x_122, 12, x_85);
lean_ctor_set(x_122, 13, x_97);
lean_ctor_set(x_122, 14, x_83);
lean_ctor_set(x_122, 15, x_82);
lean_ctor_set(x_122, 16, x_98);
lean_ctor_set(x_122, 17, x_84);
lean_ctor_set(x_122, 18, x_89);
lean_ctor_set(x_122, 19, x_79);
lean_ctor_set(x_122, 20, x_87);
lean_ctor_set(x_122, 21, x_95);
lean_ctor_set(x_122, 22, x_86);
lean_ctor_set(x_122, 23, x_81);
lean_ctor_set(x_122, 24, x_78);
lean_ctor_set(x_122, 25, x_93);
lean_ctor_set(x_122, 26, x_77);
lean_ctor_set(x_122, 27, x_101);
lean_ctor_set(x_122, 28, x_80);
lean_ctor_set(x_122, 29, x_99);
lean_ctor_set(x_122, 30, x_118);
lean_ctor_set(x_122, 31, x_119);
lean_ctor_set(x_122, 32, x_118);
lean_ctor_set(x_122, 33, x_118);
lean_ctor_set(x_122, 34, x_118);
lean_ctor_set(x_122, 35, x_118);
lean_ctor_set(x_122, 36, x_120);
lean_ctor_set(x_122, 37, x_119);
lean_ctor_set(x_122, 38, x_118);
lean_ctor_set(x_122, 39, x_121);
lean_ctor_set(x_122, 40, x_118);
lean_ctor_set(x_122, 41, x_118);
lean_ctor_set_uint8(x_122, sizeof(void*)*42, x_88);
x_123 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___lam__1), 2, 1);
lean_closure_set(x_123, 0, x_122);
x_124 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_125 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_124, x_123, x_102);
if (lean_obj_tag(x_125) == 0)
{
lean_dec_ref(x_125);
if (lean_obj_tag(x_79) == 1)
{
if (lean_obj_tag(x_85) == 0)
{
lean_dec(x_109);
lean_dec_ref(x_108);
lean_dec(x_107);
lean_dec_ref(x_106);
lean_dec(x_105);
lean_dec_ref(x_104);
lean_dec(x_103);
lean_dec(x_102);
lean_dec(x_98);
lean_dec(x_83);
lean_dec(x_82);
lean_dec_ref(x_79);
x_11 = x_114;
x_12 = lean_box(0);
goto block_15;
}
else
{
lean_dec_ref(x_85);
if (lean_obj_tag(x_83) == 0)
{
if (x_88 == 0)
{
if (lean_obj_tag(x_82) == 0)
{
lean_object* x_126; uint8_t x_127; 
x_126 = lean_ctor_get(x_79, 0);
lean_inc(x_126);
lean_dec_ref(x_79);
x_127 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isNonTrivialIsCharInst(x_98);
lean_dec(x_98);
if (x_127 == 0)
{
lean_dec(x_126);
lean_dec(x_109);
lean_dec_ref(x_108);
lean_dec(x_107);
lean_dec_ref(x_106);
lean_dec(x_105);
lean_dec_ref(x_104);
lean_dec(x_103);
lean_dec(x_102);
x_11 = x_114;
x_12 = lean_box(0);
goto block_15;
}
else
{
x_42 = x_114;
x_43 = x_106;
x_44 = x_104;
x_45 = x_105;
x_46 = lean_box(0);
x_47 = x_107;
x_48 = x_109;
x_49 = x_102;
x_50 = x_126;
x_51 = x_108;
x_52 = x_103;
x_53 = x_88;
goto block_60;
}
}
else
{
lean_object* x_128; 
lean_dec(x_98);
lean_dec_ref(x_82);
x_128 = lean_ctor_get(x_79, 0);
lean_inc(x_128);
lean_dec_ref(x_79);
x_42 = x_114;
x_43 = x_106;
x_44 = x_104;
x_45 = x_105;
x_46 = lean_box(0);
x_47 = x_107;
x_48 = x_109;
x_49 = x_102;
x_50 = x_128;
x_51 = x_108;
x_52 = x_103;
x_53 = x_88;
goto block_60;
}
}
else
{
lean_object* x_129; 
lean_dec(x_98);
lean_dec(x_82);
x_129 = lean_ctor_get(x_79, 0);
lean_inc(x_129);
lean_dec_ref(x_79);
x_22 = x_114;
x_23 = x_107;
x_24 = x_109;
x_25 = x_102;
x_26 = x_88;
x_27 = x_106;
x_28 = x_104;
x_29 = x_105;
x_30 = lean_box(0);
x_31 = x_129;
x_32 = x_108;
x_33 = x_103;
goto block_41;
}
}
else
{
lean_object* x_130; 
lean_dec(x_98);
lean_dec_ref(x_83);
lean_dec(x_82);
x_130 = lean_ctor_get(x_79, 0);
lean_inc(x_130);
lean_dec_ref(x_79);
x_22 = x_114;
x_23 = x_107;
x_24 = x_109;
x_25 = x_102;
x_26 = x_88;
x_27 = x_106;
x_28 = x_104;
x_29 = x_105;
x_30 = lean_box(0);
x_31 = x_130;
x_32 = x_108;
x_33 = x_103;
goto block_41;
}
}
}
else
{
lean_dec(x_109);
lean_dec_ref(x_108);
lean_dec(x_107);
lean_dec_ref(x_106);
lean_dec(x_105);
lean_dec_ref(x_104);
lean_dec(x_103);
lean_dec(x_102);
lean_dec(x_98);
lean_dec(x_85);
lean_dec(x_83);
lean_dec(x_82);
lean_dec(x_79);
x_11 = x_114;
x_12 = lean_box(0);
goto block_15;
}
}
else
{
uint8_t x_131; 
lean_dec(x_114);
lean_dec(x_109);
lean_dec_ref(x_108);
lean_dec(x_107);
lean_dec_ref(x_106);
lean_dec(x_105);
lean_dec_ref(x_104);
lean_dec(x_103);
lean_dec(x_102);
lean_dec(x_98);
lean_dec(x_85);
lean_dec(x_83);
lean_dec(x_82);
lean_dec(x_79);
x_131 = !lean_is_exclusive(x_125);
if (x_131 == 0)
{
return x_125;
}
else
{
lean_object* x_132; lean_object* x_133; 
x_132 = lean_ctor_get(x_125, 0);
lean_inc(x_132);
lean_dec(x_125);
x_133 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_133, 0, x_132);
return x_133;
}
}
}
else
{
uint8_t x_134; 
lean_dec(x_109);
lean_dec_ref(x_108);
lean_dec(x_107);
lean_dec_ref(x_106);
lean_dec(x_105);
lean_dec_ref(x_104);
lean_dec(x_103);
lean_dec(x_102);
lean_dec(x_101);
lean_dec(x_100);
lean_dec_ref(x_99);
lean_dec(x_98);
lean_dec(x_97);
lean_dec(x_96);
lean_dec(x_95);
lean_dec(x_94);
lean_dec(x_93);
lean_dec(x_92);
lean_dec(x_91);
lean_dec_ref(x_90);
lean_dec_ref(x_89);
lean_dec(x_87);
lean_dec_ref(x_86);
lean_dec(x_85);
lean_dec_ref(x_84);
lean_dec(x_83);
lean_dec(x_82);
lean_dec_ref(x_81);
lean_dec_ref(x_80);
lean_dec(x_79);
lean_dec_ref(x_78);
lean_dec(x_77);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_67);
lean_dec(x_64);
lean_dec_ref(x_1);
x_134 = !lean_is_exclusive(x_111);
if (x_134 == 0)
{
return x_111;
}
else
{
lean_object* x_135; lean_object* x_136; 
x_135 = lean_ctor_get(x_111, 0);
lean_inc(x_135);
lean_dec(x_111);
x_136 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_136, 0, x_135);
return x_136;
}
}
}
block_197:
{
lean_object* x_171; 
lean_inc(x_169);
lean_inc_ref(x_168);
lean_inc(x_167);
lean_inc_ref(x_166);
lean_inc(x_165);
lean_inc_ref(x_164);
lean_inc(x_163);
lean_inc(x_162);
lean_inc_ref(x_1);
lean_inc(x_64);
x_171 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f(x_64, x_1, x_162, x_163, x_164, x_165, x_166, x_167, x_168, x_169);
if (lean_obj_tag(x_171) == 0)
{
lean_object* x_172; lean_object* x_173; 
x_172 = lean_ctor_get(x_171, 0);
lean_inc(x_172);
lean_dec_ref(x_171);
lean_inc(x_169);
lean_inc_ref(x_168);
lean_inc(x_167);
lean_inc_ref(x_166);
lean_inc(x_165);
lean_inc_ref(x_164);
lean_inc(x_163);
lean_inc(x_162);
lean_inc_ref(x_1);
lean_inc(x_64);
x_173 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatFn_x3f(x_64, x_1, x_162, x_163, x_164, x_165, x_166, x_167, x_168, x_169);
if (lean_obj_tag(x_173) == 0)
{
if (lean_obj_tag(x_157) == 0)
{
lean_object* x_174; 
lean_dec(x_155);
lean_dec(x_65);
x_174 = lean_ctor_get(x_173, 0);
lean_inc(x_174);
lean_dec_ref(x_173);
x_77 = x_174;
x_78 = x_139;
x_79 = x_140;
x_80 = x_141;
x_81 = x_142;
x_82 = x_143;
x_83 = x_144;
x_84 = x_145;
x_85 = x_146;
x_86 = x_147;
x_87 = x_148;
x_88 = x_149;
x_89 = x_150;
x_90 = x_151;
x_91 = x_152;
x_92 = x_153;
x_93 = x_172;
x_94 = x_154;
x_95 = x_161;
x_96 = x_158;
x_97 = x_157;
x_98 = x_156;
x_99 = x_159;
x_100 = x_160;
x_101 = x_138;
x_102 = x_162;
x_103 = x_163;
x_104 = x_164;
x_105 = x_165;
x_106 = x_166;
x_107 = x_167;
x_108 = x_168;
x_109 = x_169;
x_110 = lean_box(0);
goto block_137;
}
else
{
lean_object* x_175; lean_object* x_176; lean_object* x_177; 
lean_dec(x_138);
x_175 = lean_ctor_get(x_173, 0);
lean_inc(x_175);
lean_dec_ref(x_173);
x_176 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__9;
lean_inc(x_169);
lean_inc_ref(x_168);
lean_inc(x_167);
lean_inc_ref(x_166);
lean_inc_ref(x_1);
lean_inc(x_64);
x_177 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_176, x_64, x_1, x_162, x_163, x_164, x_165, x_166, x_167, x_168, x_169);
if (lean_obj_tag(x_177) == 0)
{
lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; 
x_178 = lean_ctor_get(x_177, 0);
lean_inc(x_178);
lean_dec_ref(x_177);
x_179 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__11;
x_180 = l_Lean_mkConst(x_179, x_155);
lean_inc_ref_n(x_1, 3);
x_181 = l_Lean_mkApp4(x_180, x_1, x_1, x_1, x_178);
lean_inc(x_169);
lean_inc_ref(x_168);
lean_inc(x_167);
lean_inc_ref(x_166);
lean_inc(x_165);
lean_inc_ref(x_164);
lean_inc(x_163);
lean_inc(x_162);
x_182 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_181, x_162, x_163, x_164, x_165, x_166, x_167, x_168, x_169);
if (lean_obj_tag(x_182) == 0)
{
lean_object* x_183; lean_object* x_184; 
x_183 = lean_ctor_get(x_182, 0);
lean_inc(x_183);
lean_dec_ref(x_182);
if (lean_is_scalar(x_65)) {
 x_184 = lean_alloc_ctor(1, 1, 0);
} else {
 x_184 = x_65;
}
lean_ctor_set(x_184, 0, x_183);
x_77 = x_175;
x_78 = x_139;
x_79 = x_140;
x_80 = x_141;
x_81 = x_142;
x_82 = x_143;
x_83 = x_144;
x_84 = x_145;
x_85 = x_146;
x_86 = x_147;
x_87 = x_148;
x_88 = x_149;
x_89 = x_150;
x_90 = x_151;
x_91 = x_152;
x_92 = x_153;
x_93 = x_172;
x_94 = x_154;
x_95 = x_161;
x_96 = x_158;
x_97 = x_157;
x_98 = x_156;
x_99 = x_159;
x_100 = x_160;
x_101 = x_184;
x_102 = x_162;
x_103 = x_163;
x_104 = x_164;
x_105 = x_165;
x_106 = x_166;
x_107 = x_167;
x_108 = x_168;
x_109 = x_169;
x_110 = lean_box(0);
goto block_137;
}
else
{
uint8_t x_185; 
lean_dec(x_175);
lean_dec(x_172);
lean_dec(x_169);
lean_dec_ref(x_168);
lean_dec(x_167);
lean_dec_ref(x_166);
lean_dec(x_165);
lean_dec_ref(x_164);
lean_dec(x_163);
lean_dec(x_162);
lean_dec(x_161);
lean_dec(x_160);
lean_dec_ref(x_159);
lean_dec(x_158);
lean_dec_ref(x_157);
lean_dec(x_156);
lean_dec(x_154);
lean_dec(x_153);
lean_dec(x_152);
lean_dec_ref(x_151);
lean_dec_ref(x_150);
lean_dec(x_148);
lean_dec_ref(x_147);
lean_dec(x_146);
lean_dec_ref(x_145);
lean_dec(x_144);
lean_dec(x_143);
lean_dec_ref(x_142);
lean_dec_ref(x_141);
lean_dec(x_140);
lean_dec_ref(x_139);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_185 = !lean_is_exclusive(x_182);
if (x_185 == 0)
{
return x_182;
}
else
{
lean_object* x_186; lean_object* x_187; 
x_186 = lean_ctor_get(x_182, 0);
lean_inc(x_186);
lean_dec(x_182);
x_187 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_187, 0, x_186);
return x_187;
}
}
}
else
{
uint8_t x_188; 
lean_dec(x_175);
lean_dec(x_172);
lean_dec(x_169);
lean_dec_ref(x_168);
lean_dec(x_167);
lean_dec_ref(x_166);
lean_dec(x_165);
lean_dec_ref(x_164);
lean_dec(x_163);
lean_dec(x_162);
lean_dec(x_161);
lean_dec(x_160);
lean_dec_ref(x_159);
lean_dec(x_158);
lean_dec_ref(x_157);
lean_dec(x_156);
lean_dec(x_155);
lean_dec(x_154);
lean_dec(x_153);
lean_dec(x_152);
lean_dec_ref(x_151);
lean_dec_ref(x_150);
lean_dec(x_148);
lean_dec_ref(x_147);
lean_dec(x_146);
lean_dec_ref(x_145);
lean_dec(x_144);
lean_dec(x_143);
lean_dec_ref(x_142);
lean_dec_ref(x_141);
lean_dec(x_140);
lean_dec_ref(x_139);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_188 = !lean_is_exclusive(x_177);
if (x_188 == 0)
{
return x_177;
}
else
{
lean_object* x_189; lean_object* x_190; 
x_189 = lean_ctor_get(x_177, 0);
lean_inc(x_189);
lean_dec(x_177);
x_190 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_190, 0, x_189);
return x_190;
}
}
}
}
else
{
uint8_t x_191; 
lean_dec(x_172);
lean_dec(x_169);
lean_dec_ref(x_168);
lean_dec(x_167);
lean_dec_ref(x_166);
lean_dec(x_165);
lean_dec_ref(x_164);
lean_dec(x_163);
lean_dec(x_162);
lean_dec(x_161);
lean_dec(x_160);
lean_dec_ref(x_159);
lean_dec(x_158);
lean_dec(x_157);
lean_dec(x_156);
lean_dec(x_155);
lean_dec(x_154);
lean_dec(x_153);
lean_dec(x_152);
lean_dec_ref(x_151);
lean_dec_ref(x_150);
lean_dec(x_148);
lean_dec_ref(x_147);
lean_dec(x_146);
lean_dec_ref(x_145);
lean_dec(x_144);
lean_dec(x_143);
lean_dec_ref(x_142);
lean_dec_ref(x_141);
lean_dec(x_140);
lean_dec_ref(x_139);
lean_dec(x_138);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_191 = !lean_is_exclusive(x_173);
if (x_191 == 0)
{
return x_173;
}
else
{
lean_object* x_192; lean_object* x_193; 
x_192 = lean_ctor_get(x_173, 0);
lean_inc(x_192);
lean_dec(x_173);
x_193 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_193, 0, x_192);
return x_193;
}
}
}
else
{
uint8_t x_194; 
lean_dec(x_169);
lean_dec_ref(x_168);
lean_dec(x_167);
lean_dec_ref(x_166);
lean_dec(x_165);
lean_dec_ref(x_164);
lean_dec(x_163);
lean_dec(x_162);
lean_dec(x_161);
lean_dec(x_160);
lean_dec_ref(x_159);
lean_dec(x_158);
lean_dec(x_157);
lean_dec(x_156);
lean_dec(x_155);
lean_dec(x_154);
lean_dec(x_153);
lean_dec(x_152);
lean_dec_ref(x_151);
lean_dec_ref(x_150);
lean_dec(x_148);
lean_dec_ref(x_147);
lean_dec(x_146);
lean_dec_ref(x_145);
lean_dec(x_144);
lean_dec(x_143);
lean_dec_ref(x_142);
lean_dec_ref(x_141);
lean_dec(x_140);
lean_dec_ref(x_139);
lean_dec(x_138);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_194 = !lean_is_exclusive(x_171);
if (x_194 == 0)
{
return x_171;
}
else
{
lean_object* x_195; lean_object* x_196; 
x_195 = lean_ctor_get(x_171, 0);
lean_inc(x_195);
lean_dec(x_171);
x_196 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_196, 0, x_195);
return x_196;
}
}
}
block_241:
{
if (lean_obj_tag(x_74) == 1)
{
lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; 
x_231 = lean_ctor_get(x_74, 0);
x_232 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__13;
x_233 = l_Lean_mkConst(x_232, x_208);
lean_inc(x_231);
lean_inc_ref(x_1);
x_234 = l_Lean_mkAppB(x_233, x_1, x_231);
lean_inc(x_229);
lean_inc_ref(x_228);
lean_inc(x_227);
lean_inc_ref(x_226);
lean_inc(x_225);
lean_inc_ref(x_224);
lean_inc(x_223);
lean_inc(x_222);
x_235 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_234, x_222, x_223, x_224, x_225, x_226, x_227, x_228, x_229);
if (lean_obj_tag(x_235) == 0)
{
lean_object* x_236; lean_object* x_237; 
x_236 = lean_ctor_get(x_235, 0);
lean_inc(x_236);
lean_dec_ref(x_235);
if (lean_is_scalar(x_68)) {
 x_237 = lean_alloc_ctor(1, 1, 0);
} else {
 x_237 = x_68;
 lean_ctor_set_tag(x_237, 1);
}
lean_ctor_set(x_237, 0, x_236);
x_138 = x_198;
x_139 = x_199;
x_140 = x_200;
x_141 = x_201;
x_142 = x_202;
x_143 = x_203;
x_144 = x_204;
x_145 = x_205;
x_146 = x_206;
x_147 = x_207;
x_148 = x_221;
x_149 = x_209;
x_150 = x_210;
x_151 = x_211;
x_152 = x_212;
x_153 = x_213;
x_154 = x_214;
x_155 = x_215;
x_156 = x_218;
x_157 = x_217;
x_158 = x_216;
x_159 = x_219;
x_160 = x_220;
x_161 = x_237;
x_162 = x_222;
x_163 = x_223;
x_164 = x_224;
x_165 = x_225;
x_166 = x_226;
x_167 = x_227;
x_168 = x_228;
x_169 = x_229;
x_170 = lean_box(0);
goto block_197;
}
else
{
uint8_t x_238; 
lean_dec(x_229);
lean_dec_ref(x_228);
lean_dec(x_227);
lean_dec_ref(x_226);
lean_dec(x_225);
lean_dec_ref(x_224);
lean_dec(x_223);
lean_dec(x_222);
lean_dec(x_221);
lean_dec(x_220);
lean_dec_ref(x_219);
lean_dec(x_218);
lean_dec(x_217);
lean_dec(x_216);
lean_dec(x_215);
lean_dec(x_214);
lean_dec(x_213);
lean_dec(x_212);
lean_dec_ref(x_211);
lean_dec_ref(x_210);
lean_dec_ref(x_207);
lean_dec(x_206);
lean_dec_ref(x_205);
lean_dec(x_204);
lean_dec(x_203);
lean_dec_ref(x_202);
lean_dec_ref(x_201);
lean_dec(x_200);
lean_dec_ref(x_199);
lean_dec(x_198);
lean_dec(x_76);
lean_dec_ref(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_238 = !lean_is_exclusive(x_235);
if (x_238 == 0)
{
return x_235;
}
else
{
lean_object* x_239; lean_object* x_240; 
x_239 = lean_ctor_get(x_235, 0);
lean_inc(x_239);
lean_dec(x_235);
x_240 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_240, 0, x_239);
return x_240;
}
}
}
else
{
lean_dec(x_208);
lean_dec(x_68);
lean_inc(x_198);
x_138 = x_198;
x_139 = x_199;
x_140 = x_200;
x_141 = x_201;
x_142 = x_202;
x_143 = x_203;
x_144 = x_204;
x_145 = x_205;
x_146 = x_206;
x_147 = x_207;
x_148 = x_221;
x_149 = x_209;
x_150 = x_210;
x_151 = x_211;
x_152 = x_212;
x_153 = x_213;
x_154 = x_214;
x_155 = x_215;
x_156 = x_218;
x_157 = x_217;
x_158 = x_216;
x_159 = x_219;
x_160 = x_220;
x_161 = x_198;
x_162 = x_222;
x_163 = x_223;
x_164 = x_224;
x_165 = x_225;
x_166 = x_226;
x_167 = x_227;
x_168 = x_228;
x_169 = x_229;
x_170 = lean_box(0);
goto block_197;
}
}
block_674:
{
lean_object* x_273; 
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_273 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg(x_64, x_1, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_273) == 0)
{
lean_object* x_274; lean_object* x_275; lean_object* x_276; 
x_274 = lean_ctor_get(x_273, 0);
lean_inc(x_274);
lean_dec_ref(x_273);
x_275 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_276 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_275, x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_276) == 0)
{
lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; 
x_277 = lean_ctor_get(x_276, 0);
lean_inc(x_277);
lean_dec_ref(x_276);
x_278 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17;
lean_inc(x_252);
x_279 = l_Lean_mkConst(x_278, x_252);
lean_inc(x_277);
lean_inc_ref(x_1);
x_280 = l_Lean_mkAppB(x_279, x_1, x_277);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_281 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(x_280, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_281) == 0)
{
lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; 
x_282 = lean_ctor_get(x_281, 0);
lean_inc(x_282);
lean_dec_ref(x_281);
x_283 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__19;
lean_inc(x_252);
x_284 = l_Lean_mkConst(x_283, x_252);
x_285 = lean_unsigned_to_nat(0u);
x_286 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__20;
lean_inc_ref(x_1);
x_287 = l_Lean_mkAppB(x_284, x_1, x_286);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
x_288 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_287, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_288) == 0)
{
uint8_t x_289; 
x_289 = !lean_is_exclusive(x_288);
if (x_289 == 0)
{
lean_object* x_290; 
x_290 = lean_ctor_get(x_288, 0);
if (lean_obj_tag(x_290) == 1)
{
uint8_t x_291; 
lean_free_object(x_288);
x_291 = !lean_is_exclusive(x_290);
if (x_291 == 0)
{
lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; 
x_292 = lean_ctor_get(x_290, 0);
x_293 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22;
lean_inc(x_252);
x_294 = l_Lean_mkConst(x_293, x_252);
lean_inc_ref(x_1);
x_295 = l_Lean_mkApp3(x_294, x_1, x_286, x_292);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_296 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_295, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_296) == 0)
{
lean_object* x_297; lean_object* x_298; 
x_297 = lean_ctor_get(x_296, 0);
lean_inc(x_297);
lean_dec_ref(x_296);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_297);
lean_inc(x_282);
x_298 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(x_282, x_297, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_298) == 0)
{
lean_object* x_299; lean_object* x_300; 
lean_dec_ref(x_298);
x_299 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_300 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_299, x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_300) == 0)
{
lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; 
x_301 = lean_ctor_get(x_300, 0);
lean_inc(x_301);
lean_dec_ref(x_300);
x_302 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26;
lean_inc(x_259);
x_303 = l_Lean_mkConst(x_302, x_259);
lean_inc(x_301);
lean_inc_ref_n(x_1, 3);
x_304 = l_Lean_mkApp4(x_303, x_1, x_1, x_1, x_301);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_305 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_304, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_305) == 0)
{
lean_object* x_306; lean_object* x_307; lean_object* x_308; 
x_306 = lean_ctor_get(x_305, 0);
lean_inc(x_306);
lean_dec_ref(x_305);
x_307 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_308 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_307, x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_308) == 0)
{
lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; 
x_309 = lean_ctor_get(x_308, 0);
lean_inc(x_309);
lean_dec_ref(x_308);
x_310 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30;
lean_inc(x_252);
x_311 = l_Lean_mkConst(x_310, x_252);
lean_inc(x_309);
lean_inc_ref(x_1);
x_312 = l_Lean_mkAppB(x_311, x_1, x_309);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_313 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_312, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_313) == 0)
{
lean_object* x_314; lean_object* x_315; 
x_314 = lean_ctor_get(x_313, 0);
lean_inc(x_314);
lean_dec_ref(x_313);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_315 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst(x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_315) == 0)
{
lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; 
x_316 = lean_ctor_get(x_315, 0);
lean_inc(x_316);
lean_dec_ref(x_315);
x_317 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_318 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_319 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_319, 0, x_318);
lean_ctor_set(x_319, 1, x_258);
x_320 = l_Lean_mkConst(x_317, x_319);
x_321 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3;
lean_inc(x_316);
lean_inc_ref_n(x_1, 2);
lean_inc_ref(x_320);
x_322 = l_Lean_mkApp4(x_320, x_321, x_1, x_1, x_316);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_323 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_322, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_323) == 0)
{
lean_object* x_324; lean_object* x_325; 
x_324 = lean_ctor_get(x_323, 0);
lean_inc(x_324);
lean_dec_ref(x_323);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_325 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_325) == 0)
{
lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; 
x_326 = lean_ctor_get(x_325, 0);
lean_inc(x_326);
lean_dec_ref(x_325);
x_327 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
lean_inc(x_326);
lean_inc_ref_n(x_1, 2);
x_328 = l_Lean_mkApp4(x_320, x_327, x_1, x_1, x_326);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_329 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_328, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_329) == 0)
{
lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; 
x_330 = lean_ctor_get(x_329, 0);
lean_inc(x_330);
lean_dec_ref(x_329);
x_331 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31;
x_332 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_333 = l_Lean_Name_mkStr4(x_254, x_249, x_331, x_332);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_250);
x_334 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_277, x_250, x_333, x_64, x_1, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_334) == 0)
{
lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; 
lean_dec_ref(x_334);
x_335 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_336 = l_Lean_Name_mkStr4(x_254, x_249, x_331, x_335);
x_337 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35;
x_338 = lean_box(0);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_339 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_243, x_250, x_336, x_337, x_64, x_1, x_338, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_339) == 0)
{
lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; 
lean_dec_ref(x_339);
x_340 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36;
lean_inc_ref(x_245);
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_341 = l_Lean_Name_mkStr4(x_254, x_249, x_245, x_340);
x_342 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_260);
x_343 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_301, x_260, x_341, x_342, x_64, x_1, x_338, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_343) == 0)
{
lean_object* x_344; lean_object* x_345; lean_object* x_346; 
lean_dec_ref(x_343);
x_344 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_345 = l_Lean_Name_mkStr4(x_254, x_249, x_245, x_344);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_346 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_309, x_260, x_345, x_64, x_1, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_346) == 0)
{
lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; 
lean_dec_ref(x_346);
x_347 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40;
lean_inc_ref(x_247);
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_348 = l_Lean_Name_mkStr4(x_254, x_249, x_247, x_347);
x_349 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42;
x_350 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_255);
x_351 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_316, x_255, x_348, x_349, x_64, x_1, x_350, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_351) == 0)
{
lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; 
lean_dec_ref(x_351);
x_352 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44;
x_353 = l_Lean_Name_mkStr4(x_254, x_249, x_247, x_352);
x_354 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_255);
x_355 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_326, x_255, x_353, x_349, x_64, x_1, x_354, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_355) == 0)
{
lean_dec_ref(x_355);
if (lean_obj_tag(x_71) == 1)
{
lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; 
x_356 = lean_ctor_get(x_71, 0);
x_357 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47;
lean_inc(x_252);
x_358 = l_Lean_mkConst(x_357, x_252);
lean_inc(x_356);
lean_inc_ref(x_1);
x_359 = l_Lean_mkAppB(x_358, x_1, x_356);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_360 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_359, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_360) == 0)
{
lean_object* x_361; 
x_361 = lean_ctor_get(x_360, 0);
lean_inc(x_361);
lean_dec_ref(x_360);
lean_ctor_set(x_290, 0, x_361);
x_198 = x_338;
x_199 = x_330;
x_200 = x_242;
x_201 = x_306;
x_202 = x_324;
x_203 = x_244;
x_204 = x_246;
x_205 = x_282;
x_206 = x_248;
x_207 = x_251;
x_208 = x_252;
x_209 = x_253;
x_210 = x_297;
x_211 = x_255;
x_212 = x_256;
x_213 = x_257;
x_214 = x_285;
x_215 = x_259;
x_216 = x_262;
x_217 = x_261;
x_218 = x_263;
x_219 = x_314;
x_220 = x_274;
x_221 = x_290;
x_222 = x_264;
x_223 = x_265;
x_224 = x_266;
x_225 = x_267;
x_226 = x_268;
x_227 = x_269;
x_228 = x_270;
x_229 = x_271;
x_230 = lean_box(0);
goto block_241;
}
else
{
uint8_t x_362; 
lean_dec(x_330);
lean_dec(x_324);
lean_dec(x_314);
lean_dec(x_306);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec(x_248);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec_ref(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_362 = !lean_is_exclusive(x_360);
if (x_362 == 0)
{
return x_360;
}
else
{
lean_object* x_363; lean_object* x_364; 
x_363 = lean_ctor_get(x_360, 0);
lean_inc(x_363);
lean_dec(x_360);
x_364 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_364, 0, x_363);
return x_364;
}
}
}
else
{
lean_free_object(x_290);
x_198 = x_338;
x_199 = x_330;
x_200 = x_242;
x_201 = x_306;
x_202 = x_324;
x_203 = x_244;
x_204 = x_246;
x_205 = x_282;
x_206 = x_248;
x_207 = x_251;
x_208 = x_252;
x_209 = x_253;
x_210 = x_297;
x_211 = x_255;
x_212 = x_256;
x_213 = x_257;
x_214 = x_285;
x_215 = x_259;
x_216 = x_262;
x_217 = x_261;
x_218 = x_263;
x_219 = x_314;
x_220 = x_274;
x_221 = x_338;
x_222 = x_264;
x_223 = x_265;
x_224 = x_266;
x_225 = x_267;
x_226 = x_268;
x_227 = x_269;
x_228 = x_270;
x_229 = x_271;
x_230 = lean_box(0);
goto block_241;
}
}
else
{
uint8_t x_365; 
lean_dec(x_330);
lean_dec(x_324);
lean_dec(x_314);
lean_dec(x_306);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec(x_248);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_365 = !lean_is_exclusive(x_355);
if (x_365 == 0)
{
return x_355;
}
else
{
lean_object* x_366; lean_object* x_367; 
x_366 = lean_ctor_get(x_355, 0);
lean_inc(x_366);
lean_dec(x_355);
x_367 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_367, 0, x_366);
return x_367;
}
}
}
else
{
uint8_t x_368; 
lean_dec(x_330);
lean_dec(x_326);
lean_dec(x_324);
lean_dec(x_314);
lean_dec(x_306);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_368 = !lean_is_exclusive(x_351);
if (x_368 == 0)
{
return x_351;
}
else
{
lean_object* x_369; lean_object* x_370; 
x_369 = lean_ctor_get(x_351, 0);
lean_inc(x_369);
lean_dec(x_351);
x_370 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_370, 0, x_369);
return x_370;
}
}
}
else
{
uint8_t x_371; 
lean_dec(x_330);
lean_dec(x_326);
lean_dec(x_324);
lean_dec(x_316);
lean_dec(x_314);
lean_dec(x_306);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_371 = !lean_is_exclusive(x_346);
if (x_371 == 0)
{
return x_346;
}
else
{
lean_object* x_372; lean_object* x_373; 
x_372 = lean_ctor_get(x_346, 0);
lean_inc(x_372);
lean_dec(x_346);
x_373 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_373, 0, x_372);
return x_373;
}
}
}
else
{
uint8_t x_374; 
lean_dec(x_330);
lean_dec(x_326);
lean_dec(x_324);
lean_dec(x_316);
lean_dec(x_314);
lean_dec(x_309);
lean_dec(x_306);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_374 = !lean_is_exclusive(x_343);
if (x_374 == 0)
{
return x_343;
}
else
{
lean_object* x_375; lean_object* x_376; 
x_375 = lean_ctor_get(x_343, 0);
lean_inc(x_375);
lean_dec(x_343);
x_376 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_376, 0, x_375);
return x_376;
}
}
}
else
{
uint8_t x_377; 
lean_dec(x_330);
lean_dec(x_326);
lean_dec(x_324);
lean_dec(x_316);
lean_dec(x_314);
lean_dec(x_309);
lean_dec(x_306);
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_377 = !lean_is_exclusive(x_339);
if (x_377 == 0)
{
return x_339;
}
else
{
lean_object* x_378; lean_object* x_379; 
x_378 = lean_ctor_get(x_339, 0);
lean_inc(x_378);
lean_dec(x_339);
x_379 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_379, 0, x_378);
return x_379;
}
}
}
else
{
uint8_t x_380; 
lean_dec(x_330);
lean_dec(x_326);
lean_dec(x_324);
lean_dec(x_316);
lean_dec(x_314);
lean_dec(x_309);
lean_dec(x_306);
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_380 = !lean_is_exclusive(x_334);
if (x_380 == 0)
{
return x_334;
}
else
{
lean_object* x_381; lean_object* x_382; 
x_381 = lean_ctor_get(x_334, 0);
lean_inc(x_381);
lean_dec(x_334);
x_382 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_382, 0, x_381);
return x_382;
}
}
}
else
{
uint8_t x_383; 
lean_dec(x_326);
lean_dec(x_324);
lean_dec(x_316);
lean_dec(x_314);
lean_dec(x_309);
lean_dec(x_306);
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_383 = !lean_is_exclusive(x_329);
if (x_383 == 0)
{
return x_329;
}
else
{
lean_object* x_384; lean_object* x_385; 
x_384 = lean_ctor_get(x_329, 0);
lean_inc(x_384);
lean_dec(x_329);
x_385 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_385, 0, x_384);
return x_385;
}
}
}
else
{
uint8_t x_386; 
lean_dec(x_324);
lean_dec_ref(x_320);
lean_dec(x_316);
lean_dec(x_314);
lean_dec(x_309);
lean_dec(x_306);
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_386 = !lean_is_exclusive(x_325);
if (x_386 == 0)
{
return x_325;
}
else
{
lean_object* x_387; lean_object* x_388; 
x_387 = lean_ctor_get(x_325, 0);
lean_inc(x_387);
lean_dec(x_325);
x_388 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_388, 0, x_387);
return x_388;
}
}
}
else
{
uint8_t x_389; 
lean_dec_ref(x_320);
lean_dec(x_316);
lean_dec(x_314);
lean_dec(x_309);
lean_dec(x_306);
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_389 = !lean_is_exclusive(x_323);
if (x_389 == 0)
{
return x_323;
}
else
{
lean_object* x_390; lean_object* x_391; 
x_390 = lean_ctor_get(x_323, 0);
lean_inc(x_390);
lean_dec(x_323);
x_391 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_391, 0, x_390);
return x_391;
}
}
}
else
{
uint8_t x_392; 
lean_dec(x_314);
lean_dec(x_309);
lean_dec(x_306);
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_392 = !lean_is_exclusive(x_315);
if (x_392 == 0)
{
return x_315;
}
else
{
lean_object* x_393; lean_object* x_394; 
x_393 = lean_ctor_get(x_315, 0);
lean_inc(x_393);
lean_dec(x_315);
x_394 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_394, 0, x_393);
return x_394;
}
}
}
else
{
uint8_t x_395; 
lean_dec(x_309);
lean_dec(x_306);
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_395 = !lean_is_exclusive(x_313);
if (x_395 == 0)
{
return x_313;
}
else
{
lean_object* x_396; lean_object* x_397; 
x_396 = lean_ctor_get(x_313, 0);
lean_inc(x_396);
lean_dec(x_313);
x_397 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_397, 0, x_396);
return x_397;
}
}
}
else
{
uint8_t x_398; 
lean_dec(x_306);
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_398 = !lean_is_exclusive(x_308);
if (x_398 == 0)
{
return x_308;
}
else
{
lean_object* x_399; lean_object* x_400; 
x_399 = lean_ctor_get(x_308, 0);
lean_inc(x_399);
lean_dec(x_308);
x_400 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_400, 0, x_399);
return x_400;
}
}
}
else
{
uint8_t x_401; 
lean_dec(x_301);
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_401 = !lean_is_exclusive(x_305);
if (x_401 == 0)
{
return x_305;
}
else
{
lean_object* x_402; lean_object* x_403; 
x_402 = lean_ctor_get(x_305, 0);
lean_inc(x_402);
lean_dec(x_305);
x_403 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_403, 0, x_402);
return x_403;
}
}
}
else
{
uint8_t x_404; 
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_404 = !lean_is_exclusive(x_300);
if (x_404 == 0)
{
return x_300;
}
else
{
lean_object* x_405; lean_object* x_406; 
x_405 = lean_ctor_get(x_300, 0);
lean_inc(x_405);
lean_dec(x_300);
x_406 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_406, 0, x_405);
return x_406;
}
}
}
else
{
uint8_t x_407; 
lean_dec(x_297);
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_407 = !lean_is_exclusive(x_298);
if (x_407 == 0)
{
return x_298;
}
else
{
lean_object* x_408; lean_object* x_409; 
x_408 = lean_ctor_get(x_298, 0);
lean_inc(x_408);
lean_dec(x_298);
x_409 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_409, 0, x_408);
return x_409;
}
}
}
else
{
uint8_t x_410; 
lean_free_object(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_410 = !lean_is_exclusive(x_296);
if (x_410 == 0)
{
return x_296;
}
else
{
lean_object* x_411; lean_object* x_412; 
x_411 = lean_ctor_get(x_296, 0);
lean_inc(x_411);
lean_dec(x_296);
x_412 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_412, 0, x_411);
return x_412;
}
}
}
else
{
lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; 
x_413 = lean_ctor_get(x_290, 0);
lean_inc(x_413);
lean_dec(x_290);
x_414 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22;
lean_inc(x_252);
x_415 = l_Lean_mkConst(x_414, x_252);
lean_inc_ref(x_1);
x_416 = l_Lean_mkApp3(x_415, x_1, x_286, x_413);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_417 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_416, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_417) == 0)
{
lean_object* x_418; lean_object* x_419; 
x_418 = lean_ctor_get(x_417, 0);
lean_inc(x_418);
lean_dec_ref(x_417);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_418);
lean_inc(x_282);
x_419 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(x_282, x_418, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_419) == 0)
{
lean_object* x_420; lean_object* x_421; 
lean_dec_ref(x_419);
x_420 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_421 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_420, x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_421) == 0)
{
lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; 
x_422 = lean_ctor_get(x_421, 0);
lean_inc(x_422);
lean_dec_ref(x_421);
x_423 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26;
lean_inc(x_259);
x_424 = l_Lean_mkConst(x_423, x_259);
lean_inc(x_422);
lean_inc_ref_n(x_1, 3);
x_425 = l_Lean_mkApp4(x_424, x_1, x_1, x_1, x_422);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_426 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_425, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_426) == 0)
{
lean_object* x_427; lean_object* x_428; lean_object* x_429; 
x_427 = lean_ctor_get(x_426, 0);
lean_inc(x_427);
lean_dec_ref(x_426);
x_428 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_429 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_428, x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_429) == 0)
{
lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; 
x_430 = lean_ctor_get(x_429, 0);
lean_inc(x_430);
lean_dec_ref(x_429);
x_431 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30;
lean_inc(x_252);
x_432 = l_Lean_mkConst(x_431, x_252);
lean_inc(x_430);
lean_inc_ref(x_1);
x_433 = l_Lean_mkAppB(x_432, x_1, x_430);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_434 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_433, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_434) == 0)
{
lean_object* x_435; lean_object* x_436; 
x_435 = lean_ctor_get(x_434, 0);
lean_inc(x_435);
lean_dec_ref(x_434);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_436 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst(x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_436) == 0)
{
lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; 
x_437 = lean_ctor_get(x_436, 0);
lean_inc(x_437);
lean_dec_ref(x_436);
x_438 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_439 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_440 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_440, 0, x_439);
lean_ctor_set(x_440, 1, x_258);
x_441 = l_Lean_mkConst(x_438, x_440);
x_442 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3;
lean_inc(x_437);
lean_inc_ref_n(x_1, 2);
lean_inc_ref(x_441);
x_443 = l_Lean_mkApp4(x_441, x_442, x_1, x_1, x_437);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_444 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_443, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_444) == 0)
{
lean_object* x_445; lean_object* x_446; 
x_445 = lean_ctor_get(x_444, 0);
lean_inc(x_445);
lean_dec_ref(x_444);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_446 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_446) == 0)
{
lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; 
x_447 = lean_ctor_get(x_446, 0);
lean_inc(x_447);
lean_dec_ref(x_446);
x_448 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
lean_inc(x_447);
lean_inc_ref_n(x_1, 2);
x_449 = l_Lean_mkApp4(x_441, x_448, x_1, x_1, x_447);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_450 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_449, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_450) == 0)
{
lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; 
x_451 = lean_ctor_get(x_450, 0);
lean_inc(x_451);
lean_dec_ref(x_450);
x_452 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31;
x_453 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_454 = l_Lean_Name_mkStr4(x_254, x_249, x_452, x_453);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_250);
x_455 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_277, x_250, x_454, x_64, x_1, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_455) == 0)
{
lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_459; lean_object* x_460; 
lean_dec_ref(x_455);
x_456 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_457 = l_Lean_Name_mkStr4(x_254, x_249, x_452, x_456);
x_458 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35;
x_459 = lean_box(0);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_460 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_243, x_250, x_457, x_458, x_64, x_1, x_459, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_460) == 0)
{
lean_object* x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; 
lean_dec_ref(x_460);
x_461 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36;
lean_inc_ref(x_245);
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_462 = l_Lean_Name_mkStr4(x_254, x_249, x_245, x_461);
x_463 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_260);
x_464 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_422, x_260, x_462, x_463, x_64, x_1, x_459, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_464) == 0)
{
lean_object* x_465; lean_object* x_466; lean_object* x_467; 
lean_dec_ref(x_464);
x_465 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_466 = l_Lean_Name_mkStr4(x_254, x_249, x_245, x_465);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_467 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_430, x_260, x_466, x_64, x_1, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_467) == 0)
{
lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; 
lean_dec_ref(x_467);
x_468 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40;
lean_inc_ref(x_247);
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_469 = l_Lean_Name_mkStr4(x_254, x_249, x_247, x_468);
x_470 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42;
x_471 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_255);
x_472 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_437, x_255, x_469, x_470, x_64, x_1, x_471, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_472) == 0)
{
lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; 
lean_dec_ref(x_472);
x_473 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44;
x_474 = l_Lean_Name_mkStr4(x_254, x_249, x_247, x_473);
x_475 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_255);
x_476 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_447, x_255, x_474, x_470, x_64, x_1, x_475, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_476) == 0)
{
lean_dec_ref(x_476);
if (lean_obj_tag(x_71) == 1)
{
lean_object* x_477; lean_object* x_478; lean_object* x_479; lean_object* x_480; lean_object* x_481; 
x_477 = lean_ctor_get(x_71, 0);
x_478 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47;
lean_inc(x_252);
x_479 = l_Lean_mkConst(x_478, x_252);
lean_inc(x_477);
lean_inc_ref(x_1);
x_480 = l_Lean_mkAppB(x_479, x_1, x_477);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_481 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_480, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_481) == 0)
{
lean_object* x_482; lean_object* x_483; 
x_482 = lean_ctor_get(x_481, 0);
lean_inc(x_482);
lean_dec_ref(x_481);
x_483 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_483, 0, x_482);
x_198 = x_459;
x_199 = x_451;
x_200 = x_242;
x_201 = x_427;
x_202 = x_445;
x_203 = x_244;
x_204 = x_246;
x_205 = x_282;
x_206 = x_248;
x_207 = x_251;
x_208 = x_252;
x_209 = x_253;
x_210 = x_418;
x_211 = x_255;
x_212 = x_256;
x_213 = x_257;
x_214 = x_285;
x_215 = x_259;
x_216 = x_262;
x_217 = x_261;
x_218 = x_263;
x_219 = x_435;
x_220 = x_274;
x_221 = x_483;
x_222 = x_264;
x_223 = x_265;
x_224 = x_266;
x_225 = x_267;
x_226 = x_268;
x_227 = x_269;
x_228 = x_270;
x_229 = x_271;
x_230 = lean_box(0);
goto block_241;
}
else
{
lean_object* x_484; lean_object* x_485; lean_object* x_486; 
lean_dec(x_451);
lean_dec(x_445);
lean_dec(x_435);
lean_dec(x_427);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec(x_248);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec_ref(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_484 = lean_ctor_get(x_481, 0);
lean_inc(x_484);
if (lean_is_exclusive(x_481)) {
 lean_ctor_release(x_481, 0);
 x_485 = x_481;
} else {
 lean_dec_ref(x_481);
 x_485 = lean_box(0);
}
if (lean_is_scalar(x_485)) {
 x_486 = lean_alloc_ctor(1, 1, 0);
} else {
 x_486 = x_485;
}
lean_ctor_set(x_486, 0, x_484);
return x_486;
}
}
else
{
x_198 = x_459;
x_199 = x_451;
x_200 = x_242;
x_201 = x_427;
x_202 = x_445;
x_203 = x_244;
x_204 = x_246;
x_205 = x_282;
x_206 = x_248;
x_207 = x_251;
x_208 = x_252;
x_209 = x_253;
x_210 = x_418;
x_211 = x_255;
x_212 = x_256;
x_213 = x_257;
x_214 = x_285;
x_215 = x_259;
x_216 = x_262;
x_217 = x_261;
x_218 = x_263;
x_219 = x_435;
x_220 = x_274;
x_221 = x_459;
x_222 = x_264;
x_223 = x_265;
x_224 = x_266;
x_225 = x_267;
x_226 = x_268;
x_227 = x_269;
x_228 = x_270;
x_229 = x_271;
x_230 = lean_box(0);
goto block_241;
}
}
else
{
lean_object* x_487; lean_object* x_488; lean_object* x_489; 
lean_dec(x_451);
lean_dec(x_445);
lean_dec(x_435);
lean_dec(x_427);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec(x_248);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_487 = lean_ctor_get(x_476, 0);
lean_inc(x_487);
if (lean_is_exclusive(x_476)) {
 lean_ctor_release(x_476, 0);
 x_488 = x_476;
} else {
 lean_dec_ref(x_476);
 x_488 = lean_box(0);
}
if (lean_is_scalar(x_488)) {
 x_489 = lean_alloc_ctor(1, 1, 0);
} else {
 x_489 = x_488;
}
lean_ctor_set(x_489, 0, x_487);
return x_489;
}
}
else
{
lean_object* x_490; lean_object* x_491; lean_object* x_492; 
lean_dec(x_451);
lean_dec(x_447);
lean_dec(x_445);
lean_dec(x_435);
lean_dec(x_427);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_490 = lean_ctor_get(x_472, 0);
lean_inc(x_490);
if (lean_is_exclusive(x_472)) {
 lean_ctor_release(x_472, 0);
 x_491 = x_472;
} else {
 lean_dec_ref(x_472);
 x_491 = lean_box(0);
}
if (lean_is_scalar(x_491)) {
 x_492 = lean_alloc_ctor(1, 1, 0);
} else {
 x_492 = x_491;
}
lean_ctor_set(x_492, 0, x_490);
return x_492;
}
}
else
{
lean_object* x_493; lean_object* x_494; lean_object* x_495; 
lean_dec(x_451);
lean_dec(x_447);
lean_dec(x_445);
lean_dec(x_437);
lean_dec(x_435);
lean_dec(x_427);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_493 = lean_ctor_get(x_467, 0);
lean_inc(x_493);
if (lean_is_exclusive(x_467)) {
 lean_ctor_release(x_467, 0);
 x_494 = x_467;
} else {
 lean_dec_ref(x_467);
 x_494 = lean_box(0);
}
if (lean_is_scalar(x_494)) {
 x_495 = lean_alloc_ctor(1, 1, 0);
} else {
 x_495 = x_494;
}
lean_ctor_set(x_495, 0, x_493);
return x_495;
}
}
else
{
lean_object* x_496; lean_object* x_497; lean_object* x_498; 
lean_dec(x_451);
lean_dec(x_447);
lean_dec(x_445);
lean_dec(x_437);
lean_dec(x_435);
lean_dec(x_430);
lean_dec(x_427);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_496 = lean_ctor_get(x_464, 0);
lean_inc(x_496);
if (lean_is_exclusive(x_464)) {
 lean_ctor_release(x_464, 0);
 x_497 = x_464;
} else {
 lean_dec_ref(x_464);
 x_497 = lean_box(0);
}
if (lean_is_scalar(x_497)) {
 x_498 = lean_alloc_ctor(1, 1, 0);
} else {
 x_498 = x_497;
}
lean_ctor_set(x_498, 0, x_496);
return x_498;
}
}
else
{
lean_object* x_499; lean_object* x_500; lean_object* x_501; 
lean_dec(x_451);
lean_dec(x_447);
lean_dec(x_445);
lean_dec(x_437);
lean_dec(x_435);
lean_dec(x_430);
lean_dec(x_427);
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_499 = lean_ctor_get(x_460, 0);
lean_inc(x_499);
if (lean_is_exclusive(x_460)) {
 lean_ctor_release(x_460, 0);
 x_500 = x_460;
} else {
 lean_dec_ref(x_460);
 x_500 = lean_box(0);
}
if (lean_is_scalar(x_500)) {
 x_501 = lean_alloc_ctor(1, 1, 0);
} else {
 x_501 = x_500;
}
lean_ctor_set(x_501, 0, x_499);
return x_501;
}
}
else
{
lean_object* x_502; lean_object* x_503; lean_object* x_504; 
lean_dec(x_451);
lean_dec(x_447);
lean_dec(x_445);
lean_dec(x_437);
lean_dec(x_435);
lean_dec(x_430);
lean_dec(x_427);
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_502 = lean_ctor_get(x_455, 0);
lean_inc(x_502);
if (lean_is_exclusive(x_455)) {
 lean_ctor_release(x_455, 0);
 x_503 = x_455;
} else {
 lean_dec_ref(x_455);
 x_503 = lean_box(0);
}
if (lean_is_scalar(x_503)) {
 x_504 = lean_alloc_ctor(1, 1, 0);
} else {
 x_504 = x_503;
}
lean_ctor_set(x_504, 0, x_502);
return x_504;
}
}
else
{
lean_object* x_505; lean_object* x_506; lean_object* x_507; 
lean_dec(x_447);
lean_dec(x_445);
lean_dec(x_437);
lean_dec(x_435);
lean_dec(x_430);
lean_dec(x_427);
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_505 = lean_ctor_get(x_450, 0);
lean_inc(x_505);
if (lean_is_exclusive(x_450)) {
 lean_ctor_release(x_450, 0);
 x_506 = x_450;
} else {
 lean_dec_ref(x_450);
 x_506 = lean_box(0);
}
if (lean_is_scalar(x_506)) {
 x_507 = lean_alloc_ctor(1, 1, 0);
} else {
 x_507 = x_506;
}
lean_ctor_set(x_507, 0, x_505);
return x_507;
}
}
else
{
lean_object* x_508; lean_object* x_509; lean_object* x_510; 
lean_dec(x_445);
lean_dec_ref(x_441);
lean_dec(x_437);
lean_dec(x_435);
lean_dec(x_430);
lean_dec(x_427);
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_508 = lean_ctor_get(x_446, 0);
lean_inc(x_508);
if (lean_is_exclusive(x_446)) {
 lean_ctor_release(x_446, 0);
 x_509 = x_446;
} else {
 lean_dec_ref(x_446);
 x_509 = lean_box(0);
}
if (lean_is_scalar(x_509)) {
 x_510 = lean_alloc_ctor(1, 1, 0);
} else {
 x_510 = x_509;
}
lean_ctor_set(x_510, 0, x_508);
return x_510;
}
}
else
{
lean_object* x_511; lean_object* x_512; lean_object* x_513; 
lean_dec_ref(x_441);
lean_dec(x_437);
lean_dec(x_435);
lean_dec(x_430);
lean_dec(x_427);
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_511 = lean_ctor_get(x_444, 0);
lean_inc(x_511);
if (lean_is_exclusive(x_444)) {
 lean_ctor_release(x_444, 0);
 x_512 = x_444;
} else {
 lean_dec_ref(x_444);
 x_512 = lean_box(0);
}
if (lean_is_scalar(x_512)) {
 x_513 = lean_alloc_ctor(1, 1, 0);
} else {
 x_513 = x_512;
}
lean_ctor_set(x_513, 0, x_511);
return x_513;
}
}
else
{
lean_object* x_514; lean_object* x_515; lean_object* x_516; 
lean_dec(x_435);
lean_dec(x_430);
lean_dec(x_427);
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_514 = lean_ctor_get(x_436, 0);
lean_inc(x_514);
if (lean_is_exclusive(x_436)) {
 lean_ctor_release(x_436, 0);
 x_515 = x_436;
} else {
 lean_dec_ref(x_436);
 x_515 = lean_box(0);
}
if (lean_is_scalar(x_515)) {
 x_516 = lean_alloc_ctor(1, 1, 0);
} else {
 x_516 = x_515;
}
lean_ctor_set(x_516, 0, x_514);
return x_516;
}
}
else
{
lean_object* x_517; lean_object* x_518; lean_object* x_519; 
lean_dec(x_430);
lean_dec(x_427);
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_517 = lean_ctor_get(x_434, 0);
lean_inc(x_517);
if (lean_is_exclusive(x_434)) {
 lean_ctor_release(x_434, 0);
 x_518 = x_434;
} else {
 lean_dec_ref(x_434);
 x_518 = lean_box(0);
}
if (lean_is_scalar(x_518)) {
 x_519 = lean_alloc_ctor(1, 1, 0);
} else {
 x_519 = x_518;
}
lean_ctor_set(x_519, 0, x_517);
return x_519;
}
}
else
{
lean_object* x_520; lean_object* x_521; lean_object* x_522; 
lean_dec(x_427);
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_520 = lean_ctor_get(x_429, 0);
lean_inc(x_520);
if (lean_is_exclusive(x_429)) {
 lean_ctor_release(x_429, 0);
 x_521 = x_429;
} else {
 lean_dec_ref(x_429);
 x_521 = lean_box(0);
}
if (lean_is_scalar(x_521)) {
 x_522 = lean_alloc_ctor(1, 1, 0);
} else {
 x_522 = x_521;
}
lean_ctor_set(x_522, 0, x_520);
return x_522;
}
}
else
{
lean_object* x_523; lean_object* x_524; lean_object* x_525; 
lean_dec(x_422);
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_523 = lean_ctor_get(x_426, 0);
lean_inc(x_523);
if (lean_is_exclusive(x_426)) {
 lean_ctor_release(x_426, 0);
 x_524 = x_426;
} else {
 lean_dec_ref(x_426);
 x_524 = lean_box(0);
}
if (lean_is_scalar(x_524)) {
 x_525 = lean_alloc_ctor(1, 1, 0);
} else {
 x_525 = x_524;
}
lean_ctor_set(x_525, 0, x_523);
return x_525;
}
}
else
{
lean_object* x_526; lean_object* x_527; lean_object* x_528; 
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_526 = lean_ctor_get(x_421, 0);
lean_inc(x_526);
if (lean_is_exclusive(x_421)) {
 lean_ctor_release(x_421, 0);
 x_527 = x_421;
} else {
 lean_dec_ref(x_421);
 x_527 = lean_box(0);
}
if (lean_is_scalar(x_527)) {
 x_528 = lean_alloc_ctor(1, 1, 0);
} else {
 x_528 = x_527;
}
lean_ctor_set(x_528, 0, x_526);
return x_528;
}
}
else
{
lean_object* x_529; lean_object* x_530; lean_object* x_531; 
lean_dec(x_418);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_529 = lean_ctor_get(x_419, 0);
lean_inc(x_529);
if (lean_is_exclusive(x_419)) {
 lean_ctor_release(x_419, 0);
 x_530 = x_419;
} else {
 lean_dec_ref(x_419);
 x_530 = lean_box(0);
}
if (lean_is_scalar(x_530)) {
 x_531 = lean_alloc_ctor(1, 1, 0);
} else {
 x_531 = x_530;
}
lean_ctor_set(x_531, 0, x_529);
return x_531;
}
}
else
{
lean_object* x_532; lean_object* x_533; lean_object* x_534; 
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_532 = lean_ctor_get(x_417, 0);
lean_inc(x_532);
if (lean_is_exclusive(x_417)) {
 lean_ctor_release(x_417, 0);
 x_533 = x_417;
} else {
 lean_dec_ref(x_417);
 x_533 = lean_box(0);
}
if (lean_is_scalar(x_533)) {
 x_534 = lean_alloc_ctor(1, 1, 0);
} else {
 x_534 = x_533;
}
lean_ctor_set(x_534, 0, x_532);
return x_534;
}
}
}
else
{
lean_object* x_535; 
lean_dec(x_290);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_535 = lean_box(0);
lean_ctor_set(x_288, 0, x_535);
return x_288;
}
}
else
{
lean_object* x_536; 
x_536 = lean_ctor_get(x_288, 0);
lean_inc(x_536);
lean_dec(x_288);
if (lean_obj_tag(x_536) == 1)
{
lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; 
x_537 = lean_ctor_get(x_536, 0);
lean_inc(x_537);
if (lean_is_exclusive(x_536)) {
 lean_ctor_release(x_536, 0);
 x_538 = x_536;
} else {
 lean_dec_ref(x_536);
 x_538 = lean_box(0);
}
x_539 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22;
lean_inc(x_252);
x_540 = l_Lean_mkConst(x_539, x_252);
lean_inc_ref(x_1);
x_541 = l_Lean_mkApp3(x_540, x_1, x_286, x_537);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_542 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_541, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_542) == 0)
{
lean_object* x_543; lean_object* x_544; 
x_543 = lean_ctor_get(x_542, 0);
lean_inc(x_543);
lean_dec_ref(x_542);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_543);
lean_inc(x_282);
x_544 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(x_282, x_543, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_544) == 0)
{
lean_object* x_545; lean_object* x_546; 
lean_dec_ref(x_544);
x_545 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_546 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_545, x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_546) == 0)
{
lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; 
x_547 = lean_ctor_get(x_546, 0);
lean_inc(x_547);
lean_dec_ref(x_546);
x_548 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26;
lean_inc(x_259);
x_549 = l_Lean_mkConst(x_548, x_259);
lean_inc(x_547);
lean_inc_ref_n(x_1, 3);
x_550 = l_Lean_mkApp4(x_549, x_1, x_1, x_1, x_547);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_551 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_550, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_551) == 0)
{
lean_object* x_552; lean_object* x_553; lean_object* x_554; 
x_552 = lean_ctor_get(x_551, 0);
lean_inc(x_552);
lean_dec_ref(x_551);
x_553 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_554 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_553, x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_554) == 0)
{
lean_object* x_555; lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; 
x_555 = lean_ctor_get(x_554, 0);
lean_inc(x_555);
lean_dec_ref(x_554);
x_556 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30;
lean_inc(x_252);
x_557 = l_Lean_mkConst(x_556, x_252);
lean_inc(x_555);
lean_inc_ref(x_1);
x_558 = l_Lean_mkAppB(x_557, x_1, x_555);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_559 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_558, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_559) == 0)
{
lean_object* x_560; lean_object* x_561; 
x_560 = lean_ctor_get(x_559, 0);
lean_inc(x_560);
lean_dec_ref(x_559);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_561 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst(x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_561) == 0)
{
lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; lean_object* x_567; lean_object* x_568; lean_object* x_569; 
x_562 = lean_ctor_get(x_561, 0);
lean_inc(x_562);
lean_dec_ref(x_561);
x_563 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_564 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_565 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_565, 0, x_564);
lean_ctor_set(x_565, 1, x_258);
x_566 = l_Lean_mkConst(x_563, x_565);
x_567 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3;
lean_inc(x_562);
lean_inc_ref_n(x_1, 2);
lean_inc_ref(x_566);
x_568 = l_Lean_mkApp4(x_566, x_567, x_1, x_1, x_562);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_569 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_568, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_569) == 0)
{
lean_object* x_570; lean_object* x_571; 
x_570 = lean_ctor_get(x_569, 0);
lean_inc(x_570);
lean_dec_ref(x_569);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_571 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(x_64, x_1, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_571) == 0)
{
lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575; 
x_572 = lean_ctor_get(x_571, 0);
lean_inc(x_572);
lean_dec_ref(x_571);
x_573 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
lean_inc(x_572);
lean_inc_ref_n(x_1, 2);
x_574 = l_Lean_mkApp4(x_566, x_573, x_1, x_1, x_572);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_575 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_574, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_575) == 0)
{
lean_object* x_576; lean_object* x_577; lean_object* x_578; lean_object* x_579; lean_object* x_580; 
x_576 = lean_ctor_get(x_575, 0);
lean_inc(x_576);
lean_dec_ref(x_575);
x_577 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31;
x_578 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_579 = l_Lean_Name_mkStr4(x_254, x_249, x_577, x_578);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_250);
x_580 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_277, x_250, x_579, x_64, x_1, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_580) == 0)
{
lean_object* x_581; lean_object* x_582; lean_object* x_583; lean_object* x_584; lean_object* x_585; 
lean_dec_ref(x_580);
x_581 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_582 = l_Lean_Name_mkStr4(x_254, x_249, x_577, x_581);
x_583 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35;
x_584 = lean_box(0);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_585 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_243, x_250, x_582, x_583, x_64, x_1, x_584, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_585) == 0)
{
lean_object* x_586; lean_object* x_587; lean_object* x_588; lean_object* x_589; 
lean_dec_ref(x_585);
x_586 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36;
lean_inc_ref(x_245);
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_587 = l_Lean_Name_mkStr4(x_254, x_249, x_245, x_586);
x_588 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_260);
x_589 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_547, x_260, x_587, x_588, x_64, x_1, x_584, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_589) == 0)
{
lean_object* x_590; lean_object* x_591; lean_object* x_592; 
lean_dec_ref(x_589);
x_590 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39;
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_591 = l_Lean_Name_mkStr4(x_254, x_249, x_245, x_590);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
x_592 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_555, x_260, x_591, x_64, x_1, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_592) == 0)
{
lean_object* x_593; lean_object* x_594; lean_object* x_595; lean_object* x_596; lean_object* x_597; 
lean_dec_ref(x_592);
x_593 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40;
lean_inc_ref(x_247);
lean_inc_ref(x_249);
lean_inc_ref(x_254);
x_594 = l_Lean_Name_mkStr4(x_254, x_249, x_247, x_593);
x_595 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42;
x_596 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_255);
x_597 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_562, x_255, x_594, x_595, x_64, x_1, x_596, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_597) == 0)
{
lean_object* x_598; lean_object* x_599; lean_object* x_600; lean_object* x_601; 
lean_dec_ref(x_597);
x_598 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44;
x_599 = l_Lean_Name_mkStr4(x_254, x_249, x_247, x_598);
x_600 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45;
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc_ref(x_1);
lean_inc(x_64);
lean_inc_ref(x_255);
x_601 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_572, x_255, x_599, x_595, x_64, x_1, x_600, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_601) == 0)
{
lean_dec_ref(x_601);
if (lean_obj_tag(x_71) == 1)
{
lean_object* x_602; lean_object* x_603; lean_object* x_604; lean_object* x_605; lean_object* x_606; 
x_602 = lean_ctor_get(x_71, 0);
x_603 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47;
lean_inc(x_252);
x_604 = l_Lean_mkConst(x_603, x_252);
lean_inc(x_602);
lean_inc_ref(x_1);
x_605 = l_Lean_mkAppB(x_604, x_1, x_602);
lean_inc(x_271);
lean_inc_ref(x_270);
lean_inc(x_269);
lean_inc_ref(x_268);
lean_inc(x_267);
lean_inc_ref(x_266);
lean_inc(x_265);
lean_inc(x_264);
x_606 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_605, x_264, x_265, x_266, x_267, x_268, x_269, x_270, x_271);
if (lean_obj_tag(x_606) == 0)
{
lean_object* x_607; lean_object* x_608; 
x_607 = lean_ctor_get(x_606, 0);
lean_inc(x_607);
lean_dec_ref(x_606);
if (lean_is_scalar(x_538)) {
 x_608 = lean_alloc_ctor(1, 1, 0);
} else {
 x_608 = x_538;
}
lean_ctor_set(x_608, 0, x_607);
x_198 = x_584;
x_199 = x_576;
x_200 = x_242;
x_201 = x_552;
x_202 = x_570;
x_203 = x_244;
x_204 = x_246;
x_205 = x_282;
x_206 = x_248;
x_207 = x_251;
x_208 = x_252;
x_209 = x_253;
x_210 = x_543;
x_211 = x_255;
x_212 = x_256;
x_213 = x_257;
x_214 = x_285;
x_215 = x_259;
x_216 = x_262;
x_217 = x_261;
x_218 = x_263;
x_219 = x_560;
x_220 = x_274;
x_221 = x_608;
x_222 = x_264;
x_223 = x_265;
x_224 = x_266;
x_225 = x_267;
x_226 = x_268;
x_227 = x_269;
x_228 = x_270;
x_229 = x_271;
x_230 = lean_box(0);
goto block_241;
}
else
{
lean_object* x_609; lean_object* x_610; lean_object* x_611; 
lean_dec(x_576);
lean_dec(x_570);
lean_dec(x_560);
lean_dec(x_552);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec(x_248);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec_ref(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_609 = lean_ctor_get(x_606, 0);
lean_inc(x_609);
if (lean_is_exclusive(x_606)) {
 lean_ctor_release(x_606, 0);
 x_610 = x_606;
} else {
 lean_dec_ref(x_606);
 x_610 = lean_box(0);
}
if (lean_is_scalar(x_610)) {
 x_611 = lean_alloc_ctor(1, 1, 0);
} else {
 x_611 = x_610;
}
lean_ctor_set(x_611, 0, x_609);
return x_611;
}
}
else
{
lean_dec(x_538);
x_198 = x_584;
x_199 = x_576;
x_200 = x_242;
x_201 = x_552;
x_202 = x_570;
x_203 = x_244;
x_204 = x_246;
x_205 = x_282;
x_206 = x_248;
x_207 = x_251;
x_208 = x_252;
x_209 = x_253;
x_210 = x_543;
x_211 = x_255;
x_212 = x_256;
x_213 = x_257;
x_214 = x_285;
x_215 = x_259;
x_216 = x_262;
x_217 = x_261;
x_218 = x_263;
x_219 = x_560;
x_220 = x_274;
x_221 = x_584;
x_222 = x_264;
x_223 = x_265;
x_224 = x_266;
x_225 = x_267;
x_226 = x_268;
x_227 = x_269;
x_228 = x_270;
x_229 = x_271;
x_230 = lean_box(0);
goto block_241;
}
}
else
{
lean_object* x_612; lean_object* x_613; lean_object* x_614; 
lean_dec(x_576);
lean_dec(x_570);
lean_dec(x_560);
lean_dec(x_552);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec(x_248);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_612 = lean_ctor_get(x_601, 0);
lean_inc(x_612);
if (lean_is_exclusive(x_601)) {
 lean_ctor_release(x_601, 0);
 x_613 = x_601;
} else {
 lean_dec_ref(x_601);
 x_613 = lean_box(0);
}
if (lean_is_scalar(x_613)) {
 x_614 = lean_alloc_ctor(1, 1, 0);
} else {
 x_614 = x_613;
}
lean_ctor_set(x_614, 0, x_612);
return x_614;
}
}
else
{
lean_object* x_615; lean_object* x_616; lean_object* x_617; 
lean_dec(x_576);
lean_dec(x_572);
lean_dec(x_570);
lean_dec(x_560);
lean_dec(x_552);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_615 = lean_ctor_get(x_597, 0);
lean_inc(x_615);
if (lean_is_exclusive(x_597)) {
 lean_ctor_release(x_597, 0);
 x_616 = x_597;
} else {
 lean_dec_ref(x_597);
 x_616 = lean_box(0);
}
if (lean_is_scalar(x_616)) {
 x_617 = lean_alloc_ctor(1, 1, 0);
} else {
 x_617 = x_616;
}
lean_ctor_set(x_617, 0, x_615);
return x_617;
}
}
else
{
lean_object* x_618; lean_object* x_619; lean_object* x_620; 
lean_dec(x_576);
lean_dec(x_572);
lean_dec(x_570);
lean_dec(x_562);
lean_dec(x_560);
lean_dec(x_552);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_618 = lean_ctor_get(x_592, 0);
lean_inc(x_618);
if (lean_is_exclusive(x_592)) {
 lean_ctor_release(x_592, 0);
 x_619 = x_592;
} else {
 lean_dec_ref(x_592);
 x_619 = lean_box(0);
}
if (lean_is_scalar(x_619)) {
 x_620 = lean_alloc_ctor(1, 1, 0);
} else {
 x_620 = x_619;
}
lean_ctor_set(x_620, 0, x_618);
return x_620;
}
}
else
{
lean_object* x_621; lean_object* x_622; lean_object* x_623; 
lean_dec(x_576);
lean_dec(x_572);
lean_dec(x_570);
lean_dec(x_562);
lean_dec(x_560);
lean_dec(x_555);
lean_dec(x_552);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_621 = lean_ctor_get(x_589, 0);
lean_inc(x_621);
if (lean_is_exclusive(x_589)) {
 lean_ctor_release(x_589, 0);
 x_622 = x_589;
} else {
 lean_dec_ref(x_589);
 x_622 = lean_box(0);
}
if (lean_is_scalar(x_622)) {
 x_623 = lean_alloc_ctor(1, 1, 0);
} else {
 x_623 = x_622;
}
lean_ctor_set(x_623, 0, x_621);
return x_623;
}
}
else
{
lean_object* x_624; lean_object* x_625; lean_object* x_626; 
lean_dec(x_576);
lean_dec(x_572);
lean_dec(x_570);
lean_dec(x_562);
lean_dec(x_560);
lean_dec(x_555);
lean_dec(x_552);
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_624 = lean_ctor_get(x_585, 0);
lean_inc(x_624);
if (lean_is_exclusive(x_585)) {
 lean_ctor_release(x_585, 0);
 x_625 = x_585;
} else {
 lean_dec_ref(x_585);
 x_625 = lean_box(0);
}
if (lean_is_scalar(x_625)) {
 x_626 = lean_alloc_ctor(1, 1, 0);
} else {
 x_626 = x_625;
}
lean_ctor_set(x_626, 0, x_624);
return x_626;
}
}
else
{
lean_object* x_627; lean_object* x_628; lean_object* x_629; 
lean_dec(x_576);
lean_dec(x_572);
lean_dec(x_570);
lean_dec(x_562);
lean_dec(x_560);
lean_dec(x_555);
lean_dec(x_552);
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_627 = lean_ctor_get(x_580, 0);
lean_inc(x_627);
if (lean_is_exclusive(x_580)) {
 lean_ctor_release(x_580, 0);
 x_628 = x_580;
} else {
 lean_dec_ref(x_580);
 x_628 = lean_box(0);
}
if (lean_is_scalar(x_628)) {
 x_629 = lean_alloc_ctor(1, 1, 0);
} else {
 x_629 = x_628;
}
lean_ctor_set(x_629, 0, x_627);
return x_629;
}
}
else
{
lean_object* x_630; lean_object* x_631; lean_object* x_632; 
lean_dec(x_572);
lean_dec(x_570);
lean_dec(x_562);
lean_dec(x_560);
lean_dec(x_555);
lean_dec(x_552);
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_630 = lean_ctor_get(x_575, 0);
lean_inc(x_630);
if (lean_is_exclusive(x_575)) {
 lean_ctor_release(x_575, 0);
 x_631 = x_575;
} else {
 lean_dec_ref(x_575);
 x_631 = lean_box(0);
}
if (lean_is_scalar(x_631)) {
 x_632 = lean_alloc_ctor(1, 1, 0);
} else {
 x_632 = x_631;
}
lean_ctor_set(x_632, 0, x_630);
return x_632;
}
}
else
{
lean_object* x_633; lean_object* x_634; lean_object* x_635; 
lean_dec(x_570);
lean_dec_ref(x_566);
lean_dec(x_562);
lean_dec(x_560);
lean_dec(x_555);
lean_dec(x_552);
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_633 = lean_ctor_get(x_571, 0);
lean_inc(x_633);
if (lean_is_exclusive(x_571)) {
 lean_ctor_release(x_571, 0);
 x_634 = x_571;
} else {
 lean_dec_ref(x_571);
 x_634 = lean_box(0);
}
if (lean_is_scalar(x_634)) {
 x_635 = lean_alloc_ctor(1, 1, 0);
} else {
 x_635 = x_634;
}
lean_ctor_set(x_635, 0, x_633);
return x_635;
}
}
else
{
lean_object* x_636; lean_object* x_637; lean_object* x_638; 
lean_dec_ref(x_566);
lean_dec(x_562);
lean_dec(x_560);
lean_dec(x_555);
lean_dec(x_552);
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_636 = lean_ctor_get(x_569, 0);
lean_inc(x_636);
if (lean_is_exclusive(x_569)) {
 lean_ctor_release(x_569, 0);
 x_637 = x_569;
} else {
 lean_dec_ref(x_569);
 x_637 = lean_box(0);
}
if (lean_is_scalar(x_637)) {
 x_638 = lean_alloc_ctor(1, 1, 0);
} else {
 x_638 = x_637;
}
lean_ctor_set(x_638, 0, x_636);
return x_638;
}
}
else
{
lean_object* x_639; lean_object* x_640; lean_object* x_641; 
lean_dec(x_560);
lean_dec(x_555);
lean_dec(x_552);
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_639 = lean_ctor_get(x_561, 0);
lean_inc(x_639);
if (lean_is_exclusive(x_561)) {
 lean_ctor_release(x_561, 0);
 x_640 = x_561;
} else {
 lean_dec_ref(x_561);
 x_640 = lean_box(0);
}
if (lean_is_scalar(x_640)) {
 x_641 = lean_alloc_ctor(1, 1, 0);
} else {
 x_641 = x_640;
}
lean_ctor_set(x_641, 0, x_639);
return x_641;
}
}
else
{
lean_object* x_642; lean_object* x_643; lean_object* x_644; 
lean_dec(x_555);
lean_dec(x_552);
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_642 = lean_ctor_get(x_559, 0);
lean_inc(x_642);
if (lean_is_exclusive(x_559)) {
 lean_ctor_release(x_559, 0);
 x_643 = x_559;
} else {
 lean_dec_ref(x_559);
 x_643 = lean_box(0);
}
if (lean_is_scalar(x_643)) {
 x_644 = lean_alloc_ctor(1, 1, 0);
} else {
 x_644 = x_643;
}
lean_ctor_set(x_644, 0, x_642);
return x_644;
}
}
else
{
lean_object* x_645; lean_object* x_646; lean_object* x_647; 
lean_dec(x_552);
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_645 = lean_ctor_get(x_554, 0);
lean_inc(x_645);
if (lean_is_exclusive(x_554)) {
 lean_ctor_release(x_554, 0);
 x_646 = x_554;
} else {
 lean_dec_ref(x_554);
 x_646 = lean_box(0);
}
if (lean_is_scalar(x_646)) {
 x_647 = lean_alloc_ctor(1, 1, 0);
} else {
 x_647 = x_646;
}
lean_ctor_set(x_647, 0, x_645);
return x_647;
}
}
else
{
lean_object* x_648; lean_object* x_649; lean_object* x_650; 
lean_dec(x_547);
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_648 = lean_ctor_get(x_551, 0);
lean_inc(x_648);
if (lean_is_exclusive(x_551)) {
 lean_ctor_release(x_551, 0);
 x_649 = x_551;
} else {
 lean_dec_ref(x_551);
 x_649 = lean_box(0);
}
if (lean_is_scalar(x_649)) {
 x_650 = lean_alloc_ctor(1, 1, 0);
} else {
 x_650 = x_649;
}
lean_ctor_set(x_650, 0, x_648);
return x_650;
}
}
else
{
lean_object* x_651; lean_object* x_652; lean_object* x_653; 
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_651 = lean_ctor_get(x_546, 0);
lean_inc(x_651);
if (lean_is_exclusive(x_546)) {
 lean_ctor_release(x_546, 0);
 x_652 = x_546;
} else {
 lean_dec_ref(x_546);
 x_652 = lean_box(0);
}
if (lean_is_scalar(x_652)) {
 x_653 = lean_alloc_ctor(1, 1, 0);
} else {
 x_653 = x_652;
}
lean_ctor_set(x_653, 0, x_651);
return x_653;
}
}
else
{
lean_object* x_654; lean_object* x_655; lean_object* x_656; 
lean_dec(x_543);
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_654 = lean_ctor_get(x_544, 0);
lean_inc(x_654);
if (lean_is_exclusive(x_544)) {
 lean_ctor_release(x_544, 0);
 x_655 = x_544;
} else {
 lean_dec_ref(x_544);
 x_655 = lean_box(0);
}
if (lean_is_scalar(x_655)) {
 x_656 = lean_alloc_ctor(1, 1, 0);
} else {
 x_656 = x_655;
}
lean_ctor_set(x_656, 0, x_654);
return x_656;
}
}
else
{
lean_object* x_657; lean_object* x_658; lean_object* x_659; 
lean_dec(x_538);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_657 = lean_ctor_get(x_542, 0);
lean_inc(x_657);
if (lean_is_exclusive(x_542)) {
 lean_ctor_release(x_542, 0);
 x_658 = x_542;
} else {
 lean_dec_ref(x_542);
 x_658 = lean_box(0);
}
if (lean_is_scalar(x_658)) {
 x_659 = lean_alloc_ctor(1, 1, 0);
} else {
 x_659 = x_658;
}
lean_ctor_set(x_659, 0, x_657);
return x_659;
}
}
else
{
lean_object* x_660; lean_object* x_661; 
lean_dec(x_536);
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_660 = lean_box(0);
x_661 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_661, 0, x_660);
return x_661;
}
}
}
else
{
uint8_t x_662; 
lean_dec(x_282);
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_662 = !lean_is_exclusive(x_288);
if (x_662 == 0)
{
return x_288;
}
else
{
lean_object* x_663; lean_object* x_664; 
x_663 = lean_ctor_get(x_288, 0);
lean_inc(x_663);
lean_dec(x_288);
x_664 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_664, 0, x_663);
return x_664;
}
}
}
else
{
uint8_t x_665; 
lean_dec(x_277);
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_665 = !lean_is_exclusive(x_281);
if (x_665 == 0)
{
return x_281;
}
else
{
lean_object* x_666; lean_object* x_667; 
x_666 = lean_ctor_get(x_281, 0);
lean_inc(x_666);
lean_dec(x_281);
x_667 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_667, 0, x_666);
return x_667;
}
}
}
else
{
uint8_t x_668; 
lean_dec(x_274);
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_668 = !lean_is_exclusive(x_276);
if (x_668 == 0)
{
return x_276;
}
else
{
lean_object* x_669; lean_object* x_670; 
x_669 = lean_ctor_get(x_276, 0);
lean_inc(x_669);
lean_dec(x_276);
x_670 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_670, 0, x_669);
return x_670;
}
}
}
else
{
uint8_t x_671; 
lean_dec(x_271);
lean_dec_ref(x_270);
lean_dec(x_269);
lean_dec_ref(x_268);
lean_dec(x_267);
lean_dec_ref(x_266);
lean_dec(x_265);
lean_dec(x_264);
lean_dec(x_263);
lean_dec(x_262);
lean_dec(x_261);
lean_dec_ref(x_260);
lean_dec(x_259);
lean_dec(x_258);
lean_dec(x_257);
lean_dec(x_256);
lean_dec_ref(x_255);
lean_dec_ref(x_254);
lean_dec(x_252);
lean_dec_ref(x_251);
lean_dec_ref(x_250);
lean_dec_ref(x_249);
lean_dec(x_248);
lean_dec_ref(x_247);
lean_dec(x_246);
lean_dec_ref(x_245);
lean_dec(x_244);
lean_dec_ref(x_243);
lean_dec(x_242);
lean_dec(x_76);
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec_ref(x_1);
x_671 = !lean_is_exclusive(x_273);
if (x_671 == 0)
{
return x_273;
}
else
{
lean_object* x_672; lean_object* x_673; 
x_672 = lean_ctor_get(x_273, 0);
lean_inc(x_672);
lean_dec(x_273);
x_673 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_673, 0, x_672);
return x_673;
}
}
}
}
else
{
uint8_t x_963; 
lean_dec(x_74);
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_963 = !lean_is_exclusive(x_75);
if (x_963 == 0)
{
return x_75;
}
else
{
lean_object* x_964; lean_object* x_965; 
x_964 = lean_ctor_get(x_75, 0);
lean_inc(x_964);
lean_dec(x_75);
x_965 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_965, 0, x_964);
return x_965;
}
}
}
else
{
uint8_t x_966; 
lean_dec(x_71);
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_966 = !lean_is_exclusive(x_73);
if (x_966 == 0)
{
return x_73;
}
else
{
lean_object* x_967; lean_object* x_968; 
x_967 = lean_ctor_get(x_73, 0);
lean_inc(x_967);
lean_dec(x_73);
x_968 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_968, 0, x_967);
return x_968;
}
}
}
else
{
uint8_t x_969; 
lean_dec(x_68);
lean_dec(x_67);
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_969 = !lean_is_exclusive(x_70);
if (x_969 == 0)
{
return x_70;
}
else
{
lean_object* x_970; lean_object* x_971; 
x_970 = lean_ctor_get(x_70, 0);
lean_inc(x_970);
lean_dec(x_70);
x_971 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_971, 0, x_970);
return x_971;
}
}
}
else
{
lean_dec(x_65);
lean_dec(x_64);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
return x_66;
}
}
else
{
lean_object* x_972; 
lean_dec(x_63);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_972 = lean_box(0);
lean_ctor_set(x_61, 0, x_972);
return x_61;
}
}
else
{
lean_object* x_973; 
x_973 = lean_ctor_get(x_61, 0);
lean_inc(x_973);
lean_dec(x_61);
if (lean_obj_tag(x_973) == 1)
{
lean_object* x_974; lean_object* x_975; lean_object* x_976; 
x_974 = lean_ctor_get(x_973, 0);
lean_inc(x_974);
if (lean_is_exclusive(x_973)) {
 lean_ctor_release(x_973, 0);
 x_975 = x_973;
} else {
 lean_dec_ref(x_973);
 x_975 = lean_box(0);
}
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc_ref(x_1);
x_976 = l_Lean_Meta_Grind_Arith_CommRing_getCommRingId_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_976) == 0)
{
lean_object* x_977; lean_object* x_978; lean_object* x_979; lean_object* x_980; 
x_977 = lean_ctor_get(x_976, 0);
lean_inc(x_977);
if (lean_is_exclusive(x_976)) {
 lean_ctor_release(x_976, 0);
 x_978 = x_976;
} else {
 lean_dec_ref(x_976);
 x_978 = lean_box(0);
}
x_979 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_974);
x_980 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_979, x_974, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_980) == 0)
{
lean_object* x_981; lean_object* x_982; lean_object* x_983; 
x_981 = lean_ctor_get(x_980, 0);
lean_inc(x_981);
lean_dec_ref(x_980);
x_982 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_974);
x_983 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_982, x_974, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_983) == 0)
{
lean_object* x_984; lean_object* x_985; 
x_984 = lean_ctor_get(x_983, 0);
lean_inc(x_984);
lean_dec_ref(x_983);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_981);
lean_inc(x_984);
lean_inc_ref(x_1);
lean_inc(x_974);
x_985 = l_Lean_Meta_Grind_mkLawfulOrderLTInst_x3f___redArg(x_974, x_1, x_984, x_981, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_985) == 0)
{
lean_object* x_986; lean_object* x_987; lean_object* x_988; lean_object* x_989; lean_object* x_990; lean_object* x_991; lean_object* x_992; lean_object* x_993; lean_object* x_994; lean_object* x_995; lean_object* x_996; lean_object* x_997; uint8_t x_998; lean_object* x_999; lean_object* x_1000; lean_object* x_1001; lean_object* x_1002; lean_object* x_1003; lean_object* x_1004; lean_object* x_1005; lean_object* x_1006; lean_object* x_1007; lean_object* x_1008; lean_object* x_1009; lean_object* x_1010; lean_object* x_1011; lean_object* x_1012; lean_object* x_1013; lean_object* x_1014; lean_object* x_1015; lean_object* x_1016; lean_object* x_1017; lean_object* x_1018; lean_object* x_1019; lean_object* x_1020; lean_object* x_1048; lean_object* x_1049; lean_object* x_1050; lean_object* x_1051; lean_object* x_1052; lean_object* x_1053; lean_object* x_1054; lean_object* x_1055; lean_object* x_1056; lean_object* x_1057; lean_object* x_1058; uint8_t x_1059; lean_object* x_1060; lean_object* x_1061; lean_object* x_1062; lean_object* x_1063; lean_object* x_1064; lean_object* x_1065; lean_object* x_1066; lean_object* x_1067; lean_object* x_1068; lean_object* x_1069; lean_object* x_1070; lean_object* x_1071; lean_object* x_1072; lean_object* x_1073; lean_object* x_1074; lean_object* x_1075; lean_object* x_1076; lean_object* x_1077; lean_object* x_1078; lean_object* x_1079; lean_object* x_1080; lean_object* x_1108; lean_object* x_1109; lean_object* x_1110; lean_object* x_1111; lean_object* x_1112; lean_object* x_1113; lean_object* x_1114; lean_object* x_1115; lean_object* x_1116; lean_object* x_1117; lean_object* x_1118; uint8_t x_1119; lean_object* x_1120; lean_object* x_1121; lean_object* x_1122; lean_object* x_1123; lean_object* x_1124; lean_object* x_1125; lean_object* x_1126; lean_object* x_1127; lean_object* x_1128; lean_object* x_1129; lean_object* x_1130; lean_object* x_1131; lean_object* x_1132; lean_object* x_1133; lean_object* x_1134; lean_object* x_1135; lean_object* x_1136; lean_object* x_1137; lean_object* x_1138; lean_object* x_1139; lean_object* x_1140; lean_object* x_1152; lean_object* x_1153; lean_object* x_1154; lean_object* x_1155; lean_object* x_1156; lean_object* x_1157; lean_object* x_1158; lean_object* x_1159; lean_object* x_1160; lean_object* x_1161; lean_object* x_1162; uint8_t x_1163; lean_object* x_1164; lean_object* x_1165; lean_object* x_1166; lean_object* x_1167; lean_object* x_1168; lean_object* x_1169; lean_object* x_1170; lean_object* x_1171; lean_object* x_1172; lean_object* x_1173; lean_object* x_1174; lean_object* x_1175; lean_object* x_1176; lean_object* x_1177; lean_object* x_1178; lean_object* x_1179; lean_object* x_1180; lean_object* x_1181; lean_object* x_1182; lean_object* x_1339; 
x_986 = lean_ctor_get(x_985, 0);
lean_inc(x_986);
lean_dec_ref(x_985);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_981);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1339 = l_Lean_Meta_Grind_mkIsPreorderInst_x3f___redArg(x_974, x_1, x_981, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1339) == 0)
{
lean_object* x_1340; lean_object* x_1341; 
x_1340 = lean_ctor_get(x_1339, 0);
lean_inc(x_1340);
lean_dec_ref(x_1339);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_981);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1341 = l_Lean_Meta_Grind_mkIsPartialOrderInst_x3f___redArg(x_974, x_1, x_981, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1341) == 0)
{
lean_object* x_1342; lean_object* x_1343; 
x_1342 = lean_ctor_get(x_1341, 0);
lean_inc(x_1342);
lean_dec_ref(x_1341);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_981);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1343 = l_Lean_Meta_Grind_mkIsLinearOrderInst_x3f___redArg(x_974, x_1, x_981, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1343) == 0)
{
lean_object* x_1344; lean_object* x_1345; lean_object* x_1346; lean_object* x_1347; lean_object* x_1348; lean_object* x_1349; lean_object* x_1350; lean_object* x_1351; lean_object* x_1352; lean_object* x_1353; lean_object* x_1354; lean_object* x_1355; lean_object* x_1356; lean_object* x_1357; lean_object* x_1358; lean_object* x_1359; lean_object* x_1360; lean_object* x_1361; lean_object* x_1362; lean_object* x_1363; uint8_t x_1364; lean_object* x_1416; 
x_1344 = lean_ctor_get(x_1343, 0);
lean_inc(x_1344);
lean_dec_ref(x_1343);
x_1416 = l_Lean_Meta_Grind_getConfig___redArg(x_4);
if (lean_obj_tag(x_1416) == 0)
{
lean_object* x_1417; uint8_t x_1418; lean_object* x_1419; lean_object* x_1420; uint8_t x_1421; lean_object* x_1422; lean_object* x_1423; lean_object* x_1424; lean_object* x_1425; lean_object* x_1426; lean_object* x_1427; lean_object* x_1428; lean_object* x_1429; lean_object* x_1430; lean_object* x_1431; lean_object* x_1432; lean_object* x_1433; lean_object* x_1434; lean_object* x_1435; lean_object* x_1436; lean_object* x_1437; lean_object* x_1438; lean_object* x_1439; uint8_t x_1449; lean_object* x_1450; lean_object* x_1451; lean_object* x_1452; lean_object* x_1453; lean_object* x_1454; lean_object* x_1455; lean_object* x_1456; lean_object* x_1457; lean_object* x_1458; lean_object* x_1459; lean_object* x_1460; lean_object* x_1461; lean_object* x_1462; lean_object* x_1463; lean_object* x_1464; lean_object* x_1465; lean_object* x_1466; lean_object* x_1467; lean_object* x_1468; uint8_t x_1476; lean_object* x_1477; lean_object* x_1478; lean_object* x_1479; lean_object* x_1480; lean_object* x_1481; lean_object* x_1482; lean_object* x_1483; lean_object* x_1484; lean_object* x_1485; lean_object* x_1486; lean_object* x_1487; lean_object* x_1488; lean_object* x_1489; lean_object* x_1490; lean_object* x_1491; lean_object* x_1492; lean_object* x_1493; lean_object* x_1494; uint8_t x_1497; lean_object* x_1498; lean_object* x_1499; lean_object* x_1500; lean_object* x_1501; lean_object* x_1502; lean_object* x_1503; lean_object* x_1504; lean_object* x_1505; lean_object* x_1506; lean_object* x_1507; lean_object* x_1508; lean_object* x_1509; lean_object* x_1510; lean_object* x_1511; lean_object* x_1512; lean_object* x_1513; lean_object* x_1514; uint8_t x_1517; 
x_1417 = lean_ctor_get(x_1416, 0);
lean_inc(x_1417);
lean_dec_ref(x_1416);
x_1418 = lean_ctor_get_uint8(x_1417, sizeof(void*)*10 + 19);
lean_dec(x_1417);
lean_inc_ref(x_1);
x_1419 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___lam__0), 2, 1);
lean_closure_set(x_1419, 0, x_1);
if (x_1418 == 0)
{
x_1517 = x_1418;
goto block_1567;
}
else
{
if (lean_obj_tag(x_977) == 0)
{
uint8_t x_1568; 
x_1568 = 0;
x_1517 = x_1568;
goto block_1567;
}
else
{
if (lean_obj_tag(x_1340) == 0)
{
lean_object* x_1569; lean_object* x_1570; 
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec_ref(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec_ref(x_1);
x_1569 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_1570 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_1569, x_1419, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_1570) == 0)
{
lean_object* x_1571; lean_object* x_1572; lean_object* x_1573; 
if (lean_is_exclusive(x_1570)) {
 lean_ctor_release(x_1570, 0);
 x_1571 = x_1570;
} else {
 lean_dec_ref(x_1570);
 x_1571 = lean_box(0);
}
x_1572 = lean_box(0);
if (lean_is_scalar(x_1571)) {
 x_1573 = lean_alloc_ctor(0, 1, 0);
} else {
 x_1573 = x_1571;
}
lean_ctor_set(x_1573, 0, x_1572);
return x_1573;
}
else
{
lean_object* x_1574; lean_object* x_1575; lean_object* x_1576; 
x_1574 = lean_ctor_get(x_1570, 0);
lean_inc(x_1574);
if (lean_is_exclusive(x_1570)) {
 lean_ctor_release(x_1570, 0);
 x_1575 = x_1570;
} else {
 lean_dec_ref(x_1570);
 x_1575 = lean_box(0);
}
if (lean_is_scalar(x_1575)) {
 x_1576 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1576 = x_1575;
}
lean_ctor_set(x_1576, 0, x_1574);
return x_1576;
}
}
else
{
uint8_t x_1577; 
x_1577 = 0;
x_1517 = x_1577;
goto block_1567;
}
}
}
block_1448:
{
if (lean_obj_tag(x_1438) == 0)
{
lean_object* x_1440; lean_object* x_1441; 
lean_dec(x_1439);
lean_dec(x_1437);
lean_dec(x_1436);
lean_dec(x_1434);
lean_dec(x_1433);
lean_dec(x_1432);
lean_dec_ref(x_1431);
lean_dec_ref(x_1430);
lean_dec_ref(x_1429);
lean_dec(x_1428);
lean_dec(x_1427);
lean_dec_ref(x_1426);
lean_dec_ref(x_1425);
lean_dec(x_1424);
lean_dec_ref(x_1423);
lean_dec(x_1422);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1440 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_1441 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_1440, x_1419, x_1435);
lean_dec(x_1435);
if (lean_obj_tag(x_1441) == 0)
{
lean_object* x_1442; lean_object* x_1443; lean_object* x_1444; 
if (lean_is_exclusive(x_1441)) {
 lean_ctor_release(x_1441, 0);
 x_1442 = x_1441;
} else {
 lean_dec_ref(x_1441);
 x_1442 = lean_box(0);
}
x_1443 = lean_box(0);
if (lean_is_scalar(x_1442)) {
 x_1444 = lean_alloc_ctor(0, 1, 0);
} else {
 x_1444 = x_1442;
}
lean_ctor_set(x_1444, 0, x_1443);
return x_1444;
}
else
{
lean_object* x_1445; lean_object* x_1446; lean_object* x_1447; 
x_1445 = lean_ctor_get(x_1441, 0);
lean_inc(x_1445);
if (lean_is_exclusive(x_1441)) {
 lean_ctor_release(x_1441, 0);
 x_1446 = x_1441;
} else {
 lean_dec_ref(x_1441);
 x_1446 = lean_box(0);
}
if (lean_is_scalar(x_1446)) {
 x_1447 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1447 = x_1446;
}
lean_ctor_set(x_1447, 0, x_1445);
return x_1447;
}
}
else
{
lean_dec_ref(x_1419);
x_1345 = lean_box(0);
x_1346 = x_1422;
x_1347 = x_1423;
x_1348 = x_1424;
x_1349 = x_1425;
x_1350 = x_1426;
x_1351 = x_1427;
x_1352 = x_1428;
x_1353 = x_1429;
x_1354 = x_1430;
x_1355 = x_1431;
x_1356 = x_1432;
x_1357 = x_1434;
x_1358 = x_1433;
x_1359 = x_1435;
x_1360 = x_1436;
x_1361 = x_1437;
x_1362 = x_1438;
x_1363 = x_1439;
x_1364 = x_1421;
goto block_1415;
}
}
block_1475:
{
lean_object* x_1469; 
x_1469 = l_Lean_Meta_Grind_getConfig___redArg(x_1458);
if (lean_obj_tag(x_1469) == 0)
{
lean_object* x_1470; uint8_t x_1471; 
x_1470 = lean_ctor_get(x_1469, 0);
lean_inc(x_1470);
lean_dec_ref(x_1469);
x_1471 = lean_ctor_get_uint8(x_1470, sizeof(void*)*10 + 19);
lean_dec(x_1470);
if (x_1471 == 0)
{
lean_dec_ref(x_1419);
x_1345 = lean_box(0);
x_1346 = x_1450;
x_1347 = x_1451;
x_1348 = x_1452;
x_1349 = x_1453;
x_1350 = x_1454;
x_1351 = x_1455;
x_1352 = x_1456;
x_1353 = x_1457;
x_1354 = x_1458;
x_1355 = x_1459;
x_1356 = x_1461;
x_1357 = x_1463;
x_1358 = x_1462;
x_1359 = x_1464;
x_1360 = x_1465;
x_1361 = x_1466;
x_1362 = x_1468;
x_1363 = x_1467;
x_1364 = x_1471;
goto block_1415;
}
else
{
if (lean_obj_tag(x_977) == 0)
{
if (x_1449 == 0)
{
lean_dec_ref(x_1419);
x_1345 = lean_box(0);
x_1346 = x_1450;
x_1347 = x_1451;
x_1348 = x_1452;
x_1349 = x_1453;
x_1350 = x_1454;
x_1351 = x_1455;
x_1352 = x_1456;
x_1353 = x_1457;
x_1354 = x_1458;
x_1355 = x_1459;
x_1356 = x_1461;
x_1357 = x_1463;
x_1358 = x_1462;
x_1359 = x_1464;
x_1360 = x_1465;
x_1361 = x_1466;
x_1362 = x_1468;
x_1363 = x_1467;
x_1364 = x_1449;
goto block_1415;
}
else
{
x_1420 = lean_box(0);
x_1421 = x_1449;
x_1422 = x_1450;
x_1423 = x_1451;
x_1424 = x_1452;
x_1425 = x_1453;
x_1426 = x_1454;
x_1427 = x_1455;
x_1428 = x_1456;
x_1429 = x_1457;
x_1430 = x_1458;
x_1431 = x_1459;
x_1432 = x_1461;
x_1433 = x_1462;
x_1434 = x_1463;
x_1435 = x_1464;
x_1436 = x_1465;
x_1437 = x_1466;
x_1438 = x_1468;
x_1439 = x_1467;
goto block_1448;
}
}
else
{
x_1420 = lean_box(0);
x_1421 = x_1449;
x_1422 = x_1450;
x_1423 = x_1451;
x_1424 = x_1452;
x_1425 = x_1453;
x_1426 = x_1454;
x_1427 = x_1455;
x_1428 = x_1456;
x_1429 = x_1457;
x_1430 = x_1458;
x_1431 = x_1459;
x_1432 = x_1461;
x_1433 = x_1462;
x_1434 = x_1463;
x_1435 = x_1464;
x_1436 = x_1465;
x_1437 = x_1466;
x_1438 = x_1468;
x_1439 = x_1467;
goto block_1448;
}
}
}
else
{
lean_object* x_1472; lean_object* x_1473; lean_object* x_1474; 
lean_dec(x_1468);
lean_dec(x_1467);
lean_dec(x_1466);
lean_dec(x_1465);
lean_dec(x_1464);
lean_dec(x_1463);
lean_dec(x_1462);
lean_dec(x_1461);
lean_dec_ref(x_1459);
lean_dec_ref(x_1458);
lean_dec_ref(x_1457);
lean_dec(x_1456);
lean_dec(x_1455);
lean_dec_ref(x_1454);
lean_dec_ref(x_1453);
lean_dec(x_1452);
lean_dec_ref(x_1451);
lean_dec(x_1450);
lean_dec_ref(x_1419);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1472 = lean_ctor_get(x_1469, 0);
lean_inc(x_1472);
if (lean_is_exclusive(x_1469)) {
 lean_ctor_release(x_1469, 0);
 x_1473 = x_1469;
} else {
 lean_dec_ref(x_1469);
 x_1473 = lean_box(0);
}
if (lean_is_scalar(x_1473)) {
 x_1474 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1474 = x_1473;
}
lean_ctor_set(x_1474, 0, x_1472);
return x_1474;
}
}
block_1496:
{
lean_object* x_1495; 
x_1495 = lean_box(0);
x_1449 = x_1476;
x_1450 = x_1477;
x_1451 = x_1478;
x_1452 = x_1479;
x_1453 = x_1480;
x_1454 = x_1481;
x_1455 = x_1482;
x_1456 = x_1483;
x_1457 = x_1484;
x_1458 = x_1485;
x_1459 = x_1486;
x_1460 = lean_box(0);
x_1461 = x_1488;
x_1462 = x_1490;
x_1463 = x_1489;
x_1464 = x_1491;
x_1465 = x_1492;
x_1466 = x_1493;
x_1467 = x_1494;
x_1468 = x_1495;
goto block_1475;
}
block_1516:
{
lean_object* x_1515; 
x_1515 = lean_box(0);
x_1476 = x_1497;
x_1477 = x_1507;
x_1478 = x_1499;
x_1479 = x_1500;
x_1480 = x_1512;
x_1481 = x_1502;
x_1482 = x_1504;
x_1483 = x_1509;
x_1484 = x_1510;
x_1485 = x_1508;
x_1486 = x_1498;
x_1487 = lean_box(0);
x_1488 = x_1511;
x_1489 = x_1501;
x_1490 = x_1515;
x_1491 = x_1506;
x_1492 = x_1503;
x_1493 = x_1505;
x_1494 = x_1513;
goto block_1496;
}
block_1567:
{
lean_object* x_1518; 
lean_inc(x_977);
x_1518 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getCommRingInst_x3f(x_977, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1518) == 0)
{
lean_object* x_1519; lean_object* x_1520; 
x_1519 = lean_ctor_get(x_1518, 0);
lean_inc(x_1519);
lean_dec_ref(x_1518);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_1519);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1520 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg(x_974, x_1, x_1519, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1520) == 0)
{
lean_object* x_1521; lean_object* x_1522; 
x_1521 = lean_ctor_get(x_1520, 0);
lean_inc(x_1521);
lean_dec_ref(x_1520);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_1521);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1522 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg(x_974, x_1, x_1521, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1522) == 0)
{
lean_object* x_1523; lean_object* x_1524; 
x_1523 = lean_ctor_get(x_1522, 0);
lean_inc(x_1523);
if (lean_is_exclusive(x_1522)) {
 lean_ctor_release(x_1522, 0);
 x_1524 = x_1522;
} else {
 lean_dec_ref(x_1522);
 x_1524 = lean_box(0);
}
if (lean_obj_tag(x_1523) == 1)
{
lean_object* x_1525; lean_object* x_1526; lean_object* x_1527; 
lean_dec(x_1524);
x_1525 = lean_ctor_get(x_1523, 0);
lean_inc(x_1525);
lean_dec_ref(x_1523);
x_1526 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1527 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_1526, x_974, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1527) == 0)
{
lean_object* x_1528; lean_object* x_1529; lean_object* x_1530; lean_object* x_1531; lean_object* x_1532; lean_object* x_1533; lean_object* x_1534; lean_object* x_1535; lean_object* x_1536; 
x_1528 = lean_ctor_get(x_1527, 0);
lean_inc(x_1528);
lean_dec_ref(x_1527);
x_1529 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65;
x_1530 = lean_box(0);
lean_inc(x_974);
x_1531 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1531, 0, x_974);
lean_ctor_set(x_1531, 1, x_1530);
lean_inc_ref(x_1531);
lean_inc(x_974);
x_1532 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1532, 0, x_974);
lean_ctor_set(x_1532, 1, x_1531);
lean_inc_ref(x_1532);
lean_inc(x_974);
x_1533 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1533, 0, x_974);
lean_ctor_set(x_1533, 1, x_1532);
lean_inc_ref(x_1533);
x_1534 = l_Lean_mkConst(x_1529, x_1533);
lean_inc(x_1528);
lean_inc_ref_n(x_1, 3);
x_1535 = l_Lean_mkApp4(x_1534, x_1, x_1, x_1, x_1528);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_1536 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1535, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1536) == 0)
{
if (lean_obj_tag(x_981) == 1)
{
if (lean_obj_tag(x_1340) == 1)
{
lean_object* x_1537; lean_object* x_1538; lean_object* x_1539; lean_object* x_1540; lean_object* x_1541; lean_object* x_1542; lean_object* x_1543; 
x_1537 = lean_ctor_get(x_1536, 0);
lean_inc(x_1537);
lean_dec_ref(x_1536);
x_1538 = lean_ctor_get(x_981, 0);
x_1539 = lean_ctor_get(x_1340, 0);
x_1540 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67;
lean_inc_ref(x_1531);
x_1541 = l_Lean_mkConst(x_1540, x_1531);
lean_inc(x_1539);
lean_inc(x_1538);
lean_inc(x_1528);
lean_inc_ref(x_1);
x_1542 = l_Lean_mkApp4(x_1541, x_1, x_1528, x_1538, x_1539);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
x_1543 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_1542, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_1543) == 0)
{
lean_object* x_1544; 
x_1544 = lean_ctor_get(x_1543, 0);
lean_inc(x_1544);
lean_dec_ref(x_1543);
if (lean_obj_tag(x_1544) == 0)
{
lean_dec_ref(x_1340);
x_1476 = x_1517;
x_1477 = x_3;
x_1478 = x_1528;
x_1479 = x_1521;
x_1480 = x_8;
x_1481 = x_1537;
x_1482 = x_1531;
x_1483 = x_5;
x_1484 = x_6;
x_1485 = x_4;
x_1486 = x_1525;
x_1487 = lean_box(0);
x_1488 = x_7;
x_1489 = x_1532;
x_1490 = x_1544;
x_1491 = x_2;
x_1492 = x_1533;
x_1493 = x_1519;
x_1494 = x_9;
goto block_1496;
}
else
{
if (x_1517 == 0)
{
x_1449 = x_1517;
x_1450 = x_3;
x_1451 = x_1528;
x_1452 = x_1521;
x_1453 = x_8;
x_1454 = x_1537;
x_1455 = x_1531;
x_1456 = x_5;
x_1457 = x_6;
x_1458 = x_4;
x_1459 = x_1525;
x_1460 = lean_box(0);
x_1461 = x_7;
x_1462 = x_1544;
x_1463 = x_1532;
x_1464 = x_2;
x_1465 = x_1533;
x_1466 = x_1519;
x_1467 = x_9;
x_1468 = x_1340;
goto block_1475;
}
else
{
lean_dec_ref(x_1340);
x_1476 = x_1517;
x_1477 = x_3;
x_1478 = x_1528;
x_1479 = x_1521;
x_1480 = x_8;
x_1481 = x_1537;
x_1482 = x_1531;
x_1483 = x_5;
x_1484 = x_6;
x_1485 = x_4;
x_1486 = x_1525;
x_1487 = lean_box(0);
x_1488 = x_7;
x_1489 = x_1532;
x_1490 = x_1544;
x_1491 = x_2;
x_1492 = x_1533;
x_1493 = x_1519;
x_1494 = x_9;
goto block_1496;
}
}
}
else
{
lean_object* x_1545; lean_object* x_1546; lean_object* x_1547; 
lean_dec(x_1537);
lean_dec_ref(x_1533);
lean_dec_ref(x_1532);
lean_dec_ref(x_1531);
lean_dec(x_1528);
lean_dec(x_1525);
lean_dec(x_1521);
lean_dec(x_1519);
lean_dec_ref(x_1419);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec_ref(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec_ref(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1545 = lean_ctor_get(x_1543, 0);
lean_inc(x_1545);
if (lean_is_exclusive(x_1543)) {
 lean_ctor_release(x_1543, 0);
 x_1546 = x_1543;
} else {
 lean_dec_ref(x_1543);
 x_1546 = lean_box(0);
}
if (lean_is_scalar(x_1546)) {
 x_1547 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1547 = x_1546;
}
lean_ctor_set(x_1547, 0, x_1545);
return x_1547;
}
}
else
{
lean_object* x_1548; 
lean_dec(x_1340);
x_1548 = lean_ctor_get(x_1536, 0);
lean_inc(x_1548);
lean_dec_ref(x_1536);
x_1497 = x_1517;
x_1498 = x_1525;
x_1499 = x_1528;
x_1500 = x_1521;
x_1501 = x_1532;
x_1502 = x_1548;
x_1503 = x_1533;
x_1504 = x_1531;
x_1505 = x_1519;
x_1506 = x_2;
x_1507 = x_3;
x_1508 = x_4;
x_1509 = x_5;
x_1510 = x_6;
x_1511 = x_7;
x_1512 = x_8;
x_1513 = x_9;
x_1514 = lean_box(0);
goto block_1516;
}
}
else
{
lean_object* x_1549; 
lean_dec(x_1340);
x_1549 = lean_ctor_get(x_1536, 0);
lean_inc(x_1549);
lean_dec_ref(x_1536);
x_1497 = x_1517;
x_1498 = x_1525;
x_1499 = x_1528;
x_1500 = x_1521;
x_1501 = x_1532;
x_1502 = x_1549;
x_1503 = x_1533;
x_1504 = x_1531;
x_1505 = x_1519;
x_1506 = x_2;
x_1507 = x_3;
x_1508 = x_4;
x_1509 = x_5;
x_1510 = x_6;
x_1511 = x_7;
x_1512 = x_8;
x_1513 = x_9;
x_1514 = lean_box(0);
goto block_1516;
}
}
else
{
lean_object* x_1550; lean_object* x_1551; lean_object* x_1552; 
lean_dec_ref(x_1533);
lean_dec_ref(x_1532);
lean_dec_ref(x_1531);
lean_dec(x_1528);
lean_dec(x_1525);
lean_dec(x_1521);
lean_dec(x_1519);
lean_dec_ref(x_1419);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1550 = lean_ctor_get(x_1536, 0);
lean_inc(x_1550);
if (lean_is_exclusive(x_1536)) {
 lean_ctor_release(x_1536, 0);
 x_1551 = x_1536;
} else {
 lean_dec_ref(x_1536);
 x_1551 = lean_box(0);
}
if (lean_is_scalar(x_1551)) {
 x_1552 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1552 = x_1551;
}
lean_ctor_set(x_1552, 0, x_1550);
return x_1552;
}
}
else
{
lean_object* x_1553; lean_object* x_1554; lean_object* x_1555; 
lean_dec(x_1525);
lean_dec(x_1521);
lean_dec(x_1519);
lean_dec_ref(x_1419);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1553 = lean_ctor_get(x_1527, 0);
lean_inc(x_1553);
if (lean_is_exclusive(x_1527)) {
 lean_ctor_release(x_1527, 0);
 x_1554 = x_1527;
} else {
 lean_dec_ref(x_1527);
 x_1554 = lean_box(0);
}
if (lean_is_scalar(x_1554)) {
 x_1555 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1555 = x_1554;
}
lean_ctor_set(x_1555, 0, x_1553);
return x_1555;
}
}
else
{
lean_object* x_1556; lean_object* x_1557; 
lean_dec(x_1523);
lean_dec(x_1521);
lean_dec(x_1519);
lean_dec_ref(x_1419);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1556 = lean_box(0);
if (lean_is_scalar(x_1524)) {
 x_1557 = lean_alloc_ctor(0, 1, 0);
} else {
 x_1557 = x_1524;
}
lean_ctor_set(x_1557, 0, x_1556);
return x_1557;
}
}
else
{
lean_object* x_1558; lean_object* x_1559; lean_object* x_1560; 
lean_dec(x_1521);
lean_dec(x_1519);
lean_dec_ref(x_1419);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1558 = lean_ctor_get(x_1522, 0);
lean_inc(x_1558);
if (lean_is_exclusive(x_1522)) {
 lean_ctor_release(x_1522, 0);
 x_1559 = x_1522;
} else {
 lean_dec_ref(x_1522);
 x_1559 = lean_box(0);
}
if (lean_is_scalar(x_1559)) {
 x_1560 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1560 = x_1559;
}
lean_ctor_set(x_1560, 0, x_1558);
return x_1560;
}
}
else
{
lean_object* x_1561; lean_object* x_1562; lean_object* x_1563; 
lean_dec(x_1519);
lean_dec_ref(x_1419);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1561 = lean_ctor_get(x_1520, 0);
lean_inc(x_1561);
if (lean_is_exclusive(x_1520)) {
 lean_ctor_release(x_1520, 0);
 x_1562 = x_1520;
} else {
 lean_dec_ref(x_1520);
 x_1562 = lean_box(0);
}
if (lean_is_scalar(x_1562)) {
 x_1563 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1563 = x_1562;
}
lean_ctor_set(x_1563, 0, x_1561);
return x_1563;
}
}
else
{
lean_object* x_1564; lean_object* x_1565; lean_object* x_1566; 
lean_dec_ref(x_1419);
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1564 = lean_ctor_get(x_1518, 0);
lean_inc(x_1564);
if (lean_is_exclusive(x_1518)) {
 lean_ctor_release(x_1518, 0);
 x_1565 = x_1518;
} else {
 lean_dec_ref(x_1518);
 x_1565 = lean_box(0);
}
if (lean_is_scalar(x_1565)) {
 x_1566 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1566 = x_1565;
}
lean_ctor_set(x_1566, 0, x_1564);
return x_1566;
}
}
}
else
{
lean_object* x_1578; lean_object* x_1579; lean_object* x_1580; 
lean_dec(x_1344);
lean_dec(x_1342);
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1578 = lean_ctor_get(x_1416, 0);
lean_inc(x_1578);
if (lean_is_exclusive(x_1416)) {
 lean_ctor_release(x_1416, 0);
 x_1579 = x_1416;
} else {
 lean_dec_ref(x_1416);
 x_1579 = lean_box(0);
}
if (lean_is_scalar(x_1579)) {
 x_1580 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1580 = x_1579;
}
lean_ctor_set(x_1580, 0, x_1578);
return x_1580;
}
block_1415:
{
lean_object* x_1365; lean_object* x_1366; 
x_1365 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__51;
lean_inc(x_1363);
lean_inc_ref(x_1349);
lean_inc(x_1356);
lean_inc_ref(x_1353);
lean_inc_ref(x_1);
lean_inc(x_974);
lean_inc(x_1362);
lean_inc(x_981);
x_1366 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg(x_981, x_1362, x_1342, x_1365, x_974, x_1, x_1346, x_1354, x_1352, x_1353, x_1356, x_1349, x_1363);
if (lean_obj_tag(x_1366) == 0)
{
lean_object* x_1367; lean_object* x_1368; lean_object* x_1369; 
x_1367 = lean_ctor_get(x_1366, 0);
lean_inc(x_1367);
lean_dec_ref(x_1366);
x_1368 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__54;
lean_inc(x_1363);
lean_inc_ref(x_1349);
lean_inc(x_1356);
lean_inc_ref(x_1353);
lean_inc_ref(x_1);
lean_inc(x_974);
lean_inc(x_981);
x_1369 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_checkToFieldDefEq_x3f___redArg(x_981, x_1367, x_1344, x_1368, x_974, x_1, x_1346, x_1354, x_1352, x_1353, x_1356, x_1349, x_1363);
if (lean_obj_tag(x_1369) == 0)
{
lean_object* x_1370; lean_object* x_1371; 
x_1370 = lean_ctor_get(x_1369, 0);
lean_inc(x_1370);
lean_dec_ref(x_1369);
lean_inc(x_1363);
lean_inc_ref(x_1349);
lean_inc(x_1356);
lean_inc_ref(x_1353);
lean_inc(x_1348);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1371 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg(x_974, x_1, x_1348, x_1353, x_1356, x_1349, x_1363);
if (lean_obj_tag(x_1371) == 0)
{
lean_object* x_1372; lean_object* x_1373; lean_object* x_1374; lean_object* x_1375; lean_object* x_1376; 
x_1372 = lean_ctor_get(x_1371, 0);
lean_inc(x_1372);
lean_dec_ref(x_1371);
x_1373 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_1374 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_1375 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__56;
lean_inc(x_1363);
lean_inc_ref(x_1349);
lean_inc(x_1356);
lean_inc_ref(x_1353);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1376 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_1375, x_974, x_1, x_1353, x_1356, x_1349, x_1363);
if (lean_obj_tag(x_1376) == 0)
{
lean_object* x_1377; lean_object* x_1378; 
x_1377 = lean_ctor_get(x_1376, 0);
lean_inc(x_1377);
lean_dec_ref(x_1376);
lean_inc(x_1363);
lean_inc_ref(x_1349);
lean_inc(x_1356);
lean_inc_ref(x_1353);
lean_inc(x_1352);
lean_inc_ref(x_1354);
lean_inc(x_1346);
lean_inc(x_1359);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1378 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f(x_974, x_1, x_1359, x_1346, x_1354, x_1352, x_1353, x_1356, x_1349, x_1363);
if (lean_obj_tag(x_1378) == 0)
{
lean_object* x_1379; lean_object* x_1380; 
x_1379 = lean_ctor_get(x_1378, 0);
lean_inc(x_1379);
lean_dec_ref(x_1378);
lean_inc(x_1363);
lean_inc_ref(x_1349);
lean_inc(x_1356);
lean_inc_ref(x_1353);
lean_inc(x_1362);
lean_inc(x_984);
lean_inc(x_981);
lean_inc(x_1372);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1380 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg(x_974, x_1, x_1372, x_981, x_984, x_1362, x_1346, x_1354, x_1352, x_1353, x_1356, x_1349, x_1363);
if (lean_obj_tag(x_1380) == 0)
{
lean_object* x_1381; lean_object* x_1382; lean_object* x_1383; lean_object* x_1384; lean_object* x_1385; lean_object* x_1386; lean_object* x_1387; lean_object* x_1388; lean_object* x_1389; 
x_1381 = lean_ctor_get(x_1380, 0);
lean_inc(x_1381);
lean_dec_ref(x_1380);
x_1382 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2;
x_1383 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__58;
lean_inc(x_1351);
x_1384 = l_Lean_mkConst(x_1383, x_1351);
lean_inc_ref(x_1355);
lean_inc_ref(x_1);
x_1385 = l_Lean_mkAppB(x_1384, x_1, x_1355);
x_1386 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__59;
x_1387 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__61;
lean_inc(x_1351);
x_1388 = l_Lean_mkConst(x_1387, x_1351);
lean_inc_ref(x_1385);
lean_inc_ref(x_1);
x_1389 = l_Lean_mkAppB(x_1388, x_1, x_1385);
if (lean_obj_tag(x_1372) == 1)
{
lean_object* x_1390; lean_object* x_1391; 
x_1390 = lean_ctor_get(x_1372, 0);
lean_inc(x_1390);
lean_dec_ref(x_1372);
lean_inc(x_1363);
lean_inc_ref(x_1349);
lean_inc(x_1356);
lean_inc_ref(x_1353);
lean_inc(x_1352);
lean_inc_ref(x_1354);
lean_inc(x_1346);
lean_inc(x_1359);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1391 = l_Lean_Meta_Grind_Arith_getIsCharInst_x3f(x_974, x_1, x_1390, x_1359, x_1346, x_1354, x_1352, x_1353, x_1356, x_1349, x_1363);
if (lean_obj_tag(x_1391) == 0)
{
lean_object* x_1392; 
x_1392 = lean_ctor_get(x_1391, 0);
lean_inc(x_1392);
lean_dec_ref(x_1391);
x_1152 = x_1379;
x_1153 = x_1347;
x_1154 = x_1377;
x_1155 = x_1386;
x_1156 = x_1381;
x_1157 = x_1382;
x_1158 = x_1348;
x_1159 = x_1374;
x_1160 = x_1389;
x_1161 = x_1350;
x_1162 = x_1351;
x_1163 = x_1364;
x_1164 = x_1373;
x_1165 = x_1355;
x_1166 = x_1370;
x_1167 = x_1358;
x_1168 = x_1357;
x_1169 = x_1360;
x_1170 = x_1385;
x_1171 = x_1361;
x_1172 = x_1362;
x_1173 = x_1392;
x_1174 = x_1359;
x_1175 = x_1346;
x_1176 = x_1354;
x_1177 = x_1352;
x_1178 = x_1353;
x_1179 = x_1356;
x_1180 = x_1349;
x_1181 = x_1363;
x_1182 = lean_box(0);
goto block_1338;
}
else
{
lean_object* x_1393; lean_object* x_1394; lean_object* x_1395; 
lean_dec_ref(x_1389);
lean_dec_ref(x_1385);
lean_dec(x_1381);
lean_dec(x_1379);
lean_dec(x_1377);
lean_dec(x_1370);
lean_dec(x_1363);
lean_dec(x_1362);
lean_dec(x_1361);
lean_dec(x_1360);
lean_dec(x_1359);
lean_dec(x_1358);
lean_dec(x_1357);
lean_dec(x_1356);
lean_dec_ref(x_1355);
lean_dec_ref(x_1354);
lean_dec_ref(x_1353);
lean_dec(x_1352);
lean_dec(x_1351);
lean_dec_ref(x_1350);
lean_dec_ref(x_1349);
lean_dec(x_1348);
lean_dec_ref(x_1347);
lean_dec(x_1346);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1393 = lean_ctor_get(x_1391, 0);
lean_inc(x_1393);
if (lean_is_exclusive(x_1391)) {
 lean_ctor_release(x_1391, 0);
 x_1394 = x_1391;
} else {
 lean_dec_ref(x_1391);
 x_1394 = lean_box(0);
}
if (lean_is_scalar(x_1394)) {
 x_1395 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1395 = x_1394;
}
lean_ctor_set(x_1395, 0, x_1393);
return x_1395;
}
}
else
{
lean_object* x_1396; 
lean_dec(x_1372);
x_1396 = lean_box(0);
x_1152 = x_1379;
x_1153 = x_1347;
x_1154 = x_1377;
x_1155 = x_1386;
x_1156 = x_1381;
x_1157 = x_1382;
x_1158 = x_1348;
x_1159 = x_1374;
x_1160 = x_1389;
x_1161 = x_1350;
x_1162 = x_1351;
x_1163 = x_1364;
x_1164 = x_1373;
x_1165 = x_1355;
x_1166 = x_1370;
x_1167 = x_1358;
x_1168 = x_1357;
x_1169 = x_1360;
x_1170 = x_1385;
x_1171 = x_1361;
x_1172 = x_1362;
x_1173 = x_1396;
x_1174 = x_1359;
x_1175 = x_1346;
x_1176 = x_1354;
x_1177 = x_1352;
x_1178 = x_1353;
x_1179 = x_1356;
x_1180 = x_1349;
x_1181 = x_1363;
x_1182 = lean_box(0);
goto block_1338;
}
}
else
{
lean_object* x_1397; lean_object* x_1398; lean_object* x_1399; 
lean_dec(x_1379);
lean_dec(x_1377);
lean_dec(x_1372);
lean_dec(x_1370);
lean_dec(x_1363);
lean_dec(x_1362);
lean_dec(x_1361);
lean_dec(x_1360);
lean_dec(x_1359);
lean_dec(x_1358);
lean_dec(x_1357);
lean_dec(x_1356);
lean_dec_ref(x_1355);
lean_dec_ref(x_1354);
lean_dec_ref(x_1353);
lean_dec(x_1352);
lean_dec(x_1351);
lean_dec_ref(x_1350);
lean_dec_ref(x_1349);
lean_dec(x_1348);
lean_dec_ref(x_1347);
lean_dec(x_1346);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1397 = lean_ctor_get(x_1380, 0);
lean_inc(x_1397);
if (lean_is_exclusive(x_1380)) {
 lean_ctor_release(x_1380, 0);
 x_1398 = x_1380;
} else {
 lean_dec_ref(x_1380);
 x_1398 = lean_box(0);
}
if (lean_is_scalar(x_1398)) {
 x_1399 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1399 = x_1398;
}
lean_ctor_set(x_1399, 0, x_1397);
return x_1399;
}
}
else
{
lean_object* x_1400; lean_object* x_1401; lean_object* x_1402; 
lean_dec(x_1377);
lean_dec(x_1372);
lean_dec(x_1370);
lean_dec(x_1363);
lean_dec(x_1362);
lean_dec(x_1361);
lean_dec(x_1360);
lean_dec(x_1359);
lean_dec(x_1358);
lean_dec(x_1357);
lean_dec(x_1356);
lean_dec_ref(x_1355);
lean_dec_ref(x_1354);
lean_dec_ref(x_1353);
lean_dec(x_1352);
lean_dec(x_1351);
lean_dec_ref(x_1350);
lean_dec_ref(x_1349);
lean_dec(x_1348);
lean_dec_ref(x_1347);
lean_dec(x_1346);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1400 = lean_ctor_get(x_1378, 0);
lean_inc(x_1400);
if (lean_is_exclusive(x_1378)) {
 lean_ctor_release(x_1378, 0);
 x_1401 = x_1378;
} else {
 lean_dec_ref(x_1378);
 x_1401 = lean_box(0);
}
if (lean_is_scalar(x_1401)) {
 x_1402 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1402 = x_1401;
}
lean_ctor_set(x_1402, 0, x_1400);
return x_1402;
}
}
else
{
lean_object* x_1403; lean_object* x_1404; lean_object* x_1405; 
lean_dec(x_1372);
lean_dec(x_1370);
lean_dec(x_1363);
lean_dec(x_1362);
lean_dec(x_1361);
lean_dec(x_1360);
lean_dec(x_1359);
lean_dec(x_1358);
lean_dec(x_1357);
lean_dec(x_1356);
lean_dec_ref(x_1355);
lean_dec_ref(x_1354);
lean_dec_ref(x_1353);
lean_dec(x_1352);
lean_dec(x_1351);
lean_dec_ref(x_1350);
lean_dec_ref(x_1349);
lean_dec(x_1348);
lean_dec_ref(x_1347);
lean_dec(x_1346);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1403 = lean_ctor_get(x_1376, 0);
lean_inc(x_1403);
if (lean_is_exclusive(x_1376)) {
 lean_ctor_release(x_1376, 0);
 x_1404 = x_1376;
} else {
 lean_dec_ref(x_1376);
 x_1404 = lean_box(0);
}
if (lean_is_scalar(x_1404)) {
 x_1405 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1405 = x_1404;
}
lean_ctor_set(x_1405, 0, x_1403);
return x_1405;
}
}
else
{
lean_object* x_1406; lean_object* x_1407; lean_object* x_1408; 
lean_dec(x_1370);
lean_dec(x_1363);
lean_dec(x_1362);
lean_dec(x_1361);
lean_dec(x_1360);
lean_dec(x_1359);
lean_dec(x_1358);
lean_dec(x_1357);
lean_dec(x_1356);
lean_dec_ref(x_1355);
lean_dec_ref(x_1354);
lean_dec_ref(x_1353);
lean_dec(x_1352);
lean_dec(x_1351);
lean_dec_ref(x_1350);
lean_dec_ref(x_1349);
lean_dec(x_1348);
lean_dec_ref(x_1347);
lean_dec(x_1346);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1406 = lean_ctor_get(x_1371, 0);
lean_inc(x_1406);
if (lean_is_exclusive(x_1371)) {
 lean_ctor_release(x_1371, 0);
 x_1407 = x_1371;
} else {
 lean_dec_ref(x_1371);
 x_1407 = lean_box(0);
}
if (lean_is_scalar(x_1407)) {
 x_1408 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1408 = x_1407;
}
lean_ctor_set(x_1408, 0, x_1406);
return x_1408;
}
}
else
{
lean_object* x_1409; lean_object* x_1410; lean_object* x_1411; 
lean_dec(x_1363);
lean_dec(x_1362);
lean_dec(x_1361);
lean_dec(x_1360);
lean_dec(x_1359);
lean_dec(x_1358);
lean_dec(x_1357);
lean_dec(x_1356);
lean_dec_ref(x_1355);
lean_dec_ref(x_1354);
lean_dec_ref(x_1353);
lean_dec(x_1352);
lean_dec(x_1351);
lean_dec_ref(x_1350);
lean_dec_ref(x_1349);
lean_dec(x_1348);
lean_dec_ref(x_1347);
lean_dec(x_1346);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1409 = lean_ctor_get(x_1369, 0);
lean_inc(x_1409);
if (lean_is_exclusive(x_1369)) {
 lean_ctor_release(x_1369, 0);
 x_1410 = x_1369;
} else {
 lean_dec_ref(x_1369);
 x_1410 = lean_box(0);
}
if (lean_is_scalar(x_1410)) {
 x_1411 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1411 = x_1410;
}
lean_ctor_set(x_1411, 0, x_1409);
return x_1411;
}
}
else
{
lean_object* x_1412; lean_object* x_1413; lean_object* x_1414; 
lean_dec(x_1363);
lean_dec(x_1362);
lean_dec(x_1361);
lean_dec(x_1360);
lean_dec(x_1359);
lean_dec(x_1358);
lean_dec(x_1357);
lean_dec(x_1356);
lean_dec_ref(x_1355);
lean_dec_ref(x_1354);
lean_dec_ref(x_1353);
lean_dec(x_1352);
lean_dec(x_1351);
lean_dec_ref(x_1350);
lean_dec_ref(x_1349);
lean_dec(x_1348);
lean_dec_ref(x_1347);
lean_dec(x_1346);
lean_dec(x_1344);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1412 = lean_ctor_get(x_1366, 0);
lean_inc(x_1412);
if (lean_is_exclusive(x_1366)) {
 lean_ctor_release(x_1366, 0);
 x_1413 = x_1366;
} else {
 lean_dec_ref(x_1366);
 x_1413 = lean_box(0);
}
if (lean_is_scalar(x_1413)) {
 x_1414 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1414 = x_1413;
}
lean_ctor_set(x_1414, 0, x_1412);
return x_1414;
}
}
}
else
{
lean_object* x_1581; lean_object* x_1582; lean_object* x_1583; 
lean_dec(x_1342);
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1581 = lean_ctor_get(x_1343, 0);
lean_inc(x_1581);
if (lean_is_exclusive(x_1343)) {
 lean_ctor_release(x_1343, 0);
 x_1582 = x_1343;
} else {
 lean_dec_ref(x_1343);
 x_1582 = lean_box(0);
}
if (lean_is_scalar(x_1582)) {
 x_1583 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1583 = x_1582;
}
lean_ctor_set(x_1583, 0, x_1581);
return x_1583;
}
}
else
{
lean_object* x_1584; lean_object* x_1585; lean_object* x_1586; 
lean_dec(x_1340);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1584 = lean_ctor_get(x_1341, 0);
lean_inc(x_1584);
if (lean_is_exclusive(x_1341)) {
 lean_ctor_release(x_1341, 0);
 x_1585 = x_1341;
} else {
 lean_dec_ref(x_1341);
 x_1585 = lean_box(0);
}
if (lean_is_scalar(x_1585)) {
 x_1586 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1586 = x_1585;
}
lean_ctor_set(x_1586, 0, x_1584);
return x_1586;
}
}
else
{
lean_object* x_1587; lean_object* x_1588; lean_object* x_1589; 
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1587 = lean_ctor_get(x_1339, 0);
lean_inc(x_1587);
if (lean_is_exclusive(x_1339)) {
 lean_ctor_release(x_1339, 0);
 x_1588 = x_1339;
} else {
 lean_dec_ref(x_1339);
 x_1588 = lean_box(0);
}
if (lean_is_scalar(x_1588)) {
 x_1589 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1589 = x_1588;
}
lean_ctor_set(x_1589, 0, x_1587);
return x_1589;
}
block_1047:
{
lean_object* x_1021; 
x_1021 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_1012, x_1018);
if (lean_obj_tag(x_1021) == 0)
{
lean_object* x_1022; lean_object* x_1023; lean_object* x_1024; lean_object* x_1025; lean_object* x_1026; size_t x_1027; lean_object* x_1028; lean_object* x_1029; lean_object* x_1030; lean_object* x_1031; lean_object* x_1032; lean_object* x_1033; lean_object* x_1034; lean_object* x_1035; 
x_1022 = lean_ctor_get(x_1021, 0);
lean_inc(x_1022);
lean_dec_ref(x_1021);
x_1023 = lean_ctor_get(x_1022, 0);
lean_inc_ref(x_1023);
lean_dec(x_1022);
x_1024 = lean_array_get_size(x_1023);
lean_dec_ref(x_1023);
x_1025 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__4;
x_1026 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__5;
x_1027 = 5;
lean_inc(x_1004);
x_1028 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(x_1028, 0, x_1026);
lean_ctor_set(x_1028, 1, x_1025);
lean_ctor_set(x_1028, 2, x_1004);
lean_ctor_set(x_1028, 3, x_1004);
lean_ctor_set_usize(x_1028, 4, x_1027);
x_1029 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__7;
x_1030 = lean_box(0);
x_1031 = lean_box(0);
lean_inc_ref_n(x_1028, 7);
lean_inc(x_989);
lean_inc(x_1008);
lean_inc(x_992);
lean_inc(x_993);
lean_inc(x_995);
lean_inc(x_1024);
x_1032 = lean_alloc_ctor(0, 42, 1);
lean_ctor_set(x_1032, 0, x_1024);
lean_ctor_set(x_1032, 1, x_977);
lean_ctor_set(x_1032, 2, x_1);
lean_ctor_set(x_1032, 3, x_974);
lean_ctor_set(x_1032, 4, x_1000);
lean_ctor_set(x_1032, 5, x_981);
lean_ctor_set(x_1032, 6, x_984);
lean_ctor_set(x_1032, 7, x_986);
lean_ctor_set(x_1032, 8, x_1006);
lean_ctor_set(x_1032, 9, x_1002);
lean_ctor_set(x_1032, 10, x_1001);
lean_ctor_set(x_1032, 11, x_1010);
lean_ctor_set(x_1032, 12, x_995);
lean_ctor_set(x_1032, 13, x_1007);
lean_ctor_set(x_1032, 14, x_993);
lean_ctor_set(x_1032, 15, x_992);
lean_ctor_set(x_1032, 16, x_1008);
lean_ctor_set(x_1032, 17, x_994);
lean_ctor_set(x_1032, 18, x_999);
lean_ctor_set(x_1032, 19, x_989);
lean_ctor_set(x_1032, 20, x_997);
lean_ctor_set(x_1032, 21, x_1005);
lean_ctor_set(x_1032, 22, x_996);
lean_ctor_set(x_1032, 23, x_991);
lean_ctor_set(x_1032, 24, x_988);
lean_ctor_set(x_1032, 25, x_1003);
lean_ctor_set(x_1032, 26, x_987);
lean_ctor_set(x_1032, 27, x_1011);
lean_ctor_set(x_1032, 28, x_990);
lean_ctor_set(x_1032, 29, x_1009);
lean_ctor_set(x_1032, 30, x_1028);
lean_ctor_set(x_1032, 31, x_1029);
lean_ctor_set(x_1032, 32, x_1028);
lean_ctor_set(x_1032, 33, x_1028);
lean_ctor_set(x_1032, 34, x_1028);
lean_ctor_set(x_1032, 35, x_1028);
lean_ctor_set(x_1032, 36, x_1030);
lean_ctor_set(x_1032, 37, x_1029);
lean_ctor_set(x_1032, 38, x_1028);
lean_ctor_set(x_1032, 39, x_1031);
lean_ctor_set(x_1032, 40, x_1028);
lean_ctor_set(x_1032, 41, x_1028);
lean_ctor_set_uint8(x_1032, sizeof(void*)*42, x_998);
x_1033 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___lam__1), 2, 1);
lean_closure_set(x_1033, 0, x_1032);
x_1034 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_1035 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_1034, x_1033, x_1012);
if (lean_obj_tag(x_1035) == 0)
{
lean_dec_ref(x_1035);
if (lean_obj_tag(x_989) == 1)
{
if (lean_obj_tag(x_995) == 0)
{
lean_dec(x_1019);
lean_dec_ref(x_1018);
lean_dec(x_1017);
lean_dec_ref(x_1016);
lean_dec(x_1015);
lean_dec_ref(x_1014);
lean_dec(x_1013);
lean_dec(x_1012);
lean_dec(x_1008);
lean_dec(x_993);
lean_dec(x_992);
lean_dec_ref(x_989);
x_11 = x_1024;
x_12 = lean_box(0);
goto block_15;
}
else
{
lean_dec_ref(x_995);
if (lean_obj_tag(x_993) == 0)
{
if (x_998 == 0)
{
if (lean_obj_tag(x_992) == 0)
{
lean_object* x_1036; uint8_t x_1037; 
x_1036 = lean_ctor_get(x_989, 0);
lean_inc(x_1036);
lean_dec_ref(x_989);
x_1037 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isNonTrivialIsCharInst(x_1008);
lean_dec(x_1008);
if (x_1037 == 0)
{
lean_dec(x_1036);
lean_dec(x_1019);
lean_dec_ref(x_1018);
lean_dec(x_1017);
lean_dec_ref(x_1016);
lean_dec(x_1015);
lean_dec_ref(x_1014);
lean_dec(x_1013);
lean_dec(x_1012);
x_11 = x_1024;
x_12 = lean_box(0);
goto block_15;
}
else
{
x_42 = x_1024;
x_43 = x_1016;
x_44 = x_1014;
x_45 = x_1015;
x_46 = lean_box(0);
x_47 = x_1017;
x_48 = x_1019;
x_49 = x_1012;
x_50 = x_1036;
x_51 = x_1018;
x_52 = x_1013;
x_53 = x_998;
goto block_60;
}
}
else
{
lean_object* x_1038; 
lean_dec(x_1008);
lean_dec_ref(x_992);
x_1038 = lean_ctor_get(x_989, 0);
lean_inc(x_1038);
lean_dec_ref(x_989);
x_42 = x_1024;
x_43 = x_1016;
x_44 = x_1014;
x_45 = x_1015;
x_46 = lean_box(0);
x_47 = x_1017;
x_48 = x_1019;
x_49 = x_1012;
x_50 = x_1038;
x_51 = x_1018;
x_52 = x_1013;
x_53 = x_998;
goto block_60;
}
}
else
{
lean_object* x_1039; 
lean_dec(x_1008);
lean_dec(x_992);
x_1039 = lean_ctor_get(x_989, 0);
lean_inc(x_1039);
lean_dec_ref(x_989);
x_22 = x_1024;
x_23 = x_1017;
x_24 = x_1019;
x_25 = x_1012;
x_26 = x_998;
x_27 = x_1016;
x_28 = x_1014;
x_29 = x_1015;
x_30 = lean_box(0);
x_31 = x_1039;
x_32 = x_1018;
x_33 = x_1013;
goto block_41;
}
}
else
{
lean_object* x_1040; 
lean_dec(x_1008);
lean_dec_ref(x_993);
lean_dec(x_992);
x_1040 = lean_ctor_get(x_989, 0);
lean_inc(x_1040);
lean_dec_ref(x_989);
x_22 = x_1024;
x_23 = x_1017;
x_24 = x_1019;
x_25 = x_1012;
x_26 = x_998;
x_27 = x_1016;
x_28 = x_1014;
x_29 = x_1015;
x_30 = lean_box(0);
x_31 = x_1040;
x_32 = x_1018;
x_33 = x_1013;
goto block_41;
}
}
}
else
{
lean_dec(x_1019);
lean_dec_ref(x_1018);
lean_dec(x_1017);
lean_dec_ref(x_1016);
lean_dec(x_1015);
lean_dec_ref(x_1014);
lean_dec(x_1013);
lean_dec(x_1012);
lean_dec(x_1008);
lean_dec(x_995);
lean_dec(x_993);
lean_dec(x_992);
lean_dec(x_989);
x_11 = x_1024;
x_12 = lean_box(0);
goto block_15;
}
}
else
{
lean_object* x_1041; lean_object* x_1042; lean_object* x_1043; 
lean_dec(x_1024);
lean_dec(x_1019);
lean_dec_ref(x_1018);
lean_dec(x_1017);
lean_dec_ref(x_1016);
lean_dec(x_1015);
lean_dec_ref(x_1014);
lean_dec(x_1013);
lean_dec(x_1012);
lean_dec(x_1008);
lean_dec(x_995);
lean_dec(x_993);
lean_dec(x_992);
lean_dec(x_989);
x_1041 = lean_ctor_get(x_1035, 0);
lean_inc(x_1041);
if (lean_is_exclusive(x_1035)) {
 lean_ctor_release(x_1035, 0);
 x_1042 = x_1035;
} else {
 lean_dec_ref(x_1035);
 x_1042 = lean_box(0);
}
if (lean_is_scalar(x_1042)) {
 x_1043 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1043 = x_1042;
}
lean_ctor_set(x_1043, 0, x_1041);
return x_1043;
}
}
else
{
lean_object* x_1044; lean_object* x_1045; lean_object* x_1046; 
lean_dec(x_1019);
lean_dec_ref(x_1018);
lean_dec(x_1017);
lean_dec_ref(x_1016);
lean_dec(x_1015);
lean_dec_ref(x_1014);
lean_dec(x_1013);
lean_dec(x_1012);
lean_dec(x_1011);
lean_dec(x_1010);
lean_dec_ref(x_1009);
lean_dec(x_1008);
lean_dec(x_1007);
lean_dec(x_1006);
lean_dec(x_1005);
lean_dec(x_1004);
lean_dec(x_1003);
lean_dec(x_1002);
lean_dec(x_1001);
lean_dec_ref(x_1000);
lean_dec_ref(x_999);
lean_dec(x_997);
lean_dec_ref(x_996);
lean_dec(x_995);
lean_dec_ref(x_994);
lean_dec(x_993);
lean_dec(x_992);
lean_dec_ref(x_991);
lean_dec_ref(x_990);
lean_dec(x_989);
lean_dec_ref(x_988);
lean_dec(x_987);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_977);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1044 = lean_ctor_get(x_1021, 0);
lean_inc(x_1044);
if (lean_is_exclusive(x_1021)) {
 lean_ctor_release(x_1021, 0);
 x_1045 = x_1021;
} else {
 lean_dec_ref(x_1021);
 x_1045 = lean_box(0);
}
if (lean_is_scalar(x_1045)) {
 x_1046 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1046 = x_1045;
}
lean_ctor_set(x_1046, 0, x_1044);
return x_1046;
}
}
block_1107:
{
lean_object* x_1081; 
lean_inc(x_1079);
lean_inc_ref(x_1078);
lean_inc(x_1077);
lean_inc_ref(x_1076);
lean_inc(x_1075);
lean_inc_ref(x_1074);
lean_inc(x_1073);
lean_inc(x_1072);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1081 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f(x_974, x_1, x_1072, x_1073, x_1074, x_1075, x_1076, x_1077, x_1078, x_1079);
if (lean_obj_tag(x_1081) == 0)
{
lean_object* x_1082; lean_object* x_1083; 
x_1082 = lean_ctor_get(x_1081, 0);
lean_inc(x_1082);
lean_dec_ref(x_1081);
lean_inc(x_1079);
lean_inc_ref(x_1078);
lean_inc(x_1077);
lean_inc_ref(x_1076);
lean_inc(x_1075);
lean_inc_ref(x_1074);
lean_inc(x_1073);
lean_inc(x_1072);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1083 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatFn_x3f(x_974, x_1, x_1072, x_1073, x_1074, x_1075, x_1076, x_1077, x_1078, x_1079);
if (lean_obj_tag(x_1083) == 0)
{
if (lean_obj_tag(x_1067) == 0)
{
lean_object* x_1084; 
lean_dec(x_1065);
lean_dec(x_975);
x_1084 = lean_ctor_get(x_1083, 0);
lean_inc(x_1084);
lean_dec_ref(x_1083);
x_987 = x_1084;
x_988 = x_1049;
x_989 = x_1050;
x_990 = x_1051;
x_991 = x_1052;
x_992 = x_1053;
x_993 = x_1054;
x_994 = x_1055;
x_995 = x_1056;
x_996 = x_1057;
x_997 = x_1058;
x_998 = x_1059;
x_999 = x_1060;
x_1000 = x_1061;
x_1001 = x_1062;
x_1002 = x_1063;
x_1003 = x_1082;
x_1004 = x_1064;
x_1005 = x_1071;
x_1006 = x_1068;
x_1007 = x_1067;
x_1008 = x_1066;
x_1009 = x_1069;
x_1010 = x_1070;
x_1011 = x_1048;
x_1012 = x_1072;
x_1013 = x_1073;
x_1014 = x_1074;
x_1015 = x_1075;
x_1016 = x_1076;
x_1017 = x_1077;
x_1018 = x_1078;
x_1019 = x_1079;
x_1020 = lean_box(0);
goto block_1047;
}
else
{
lean_object* x_1085; lean_object* x_1086; lean_object* x_1087; 
lean_dec(x_1048);
x_1085 = lean_ctor_get(x_1083, 0);
lean_inc(x_1085);
lean_dec_ref(x_1083);
x_1086 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__9;
lean_inc(x_1079);
lean_inc_ref(x_1078);
lean_inc(x_1077);
lean_inc_ref(x_1076);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1087 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_1086, x_974, x_1, x_1072, x_1073, x_1074, x_1075, x_1076, x_1077, x_1078, x_1079);
if (lean_obj_tag(x_1087) == 0)
{
lean_object* x_1088; lean_object* x_1089; lean_object* x_1090; lean_object* x_1091; lean_object* x_1092; 
x_1088 = lean_ctor_get(x_1087, 0);
lean_inc(x_1088);
lean_dec_ref(x_1087);
x_1089 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__11;
x_1090 = l_Lean_mkConst(x_1089, x_1065);
lean_inc_ref_n(x_1, 3);
x_1091 = l_Lean_mkApp4(x_1090, x_1, x_1, x_1, x_1088);
lean_inc(x_1079);
lean_inc_ref(x_1078);
lean_inc(x_1077);
lean_inc_ref(x_1076);
lean_inc(x_1075);
lean_inc_ref(x_1074);
lean_inc(x_1073);
lean_inc(x_1072);
x_1092 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1091, x_1072, x_1073, x_1074, x_1075, x_1076, x_1077, x_1078, x_1079);
if (lean_obj_tag(x_1092) == 0)
{
lean_object* x_1093; lean_object* x_1094; 
x_1093 = lean_ctor_get(x_1092, 0);
lean_inc(x_1093);
lean_dec_ref(x_1092);
if (lean_is_scalar(x_975)) {
 x_1094 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1094 = x_975;
}
lean_ctor_set(x_1094, 0, x_1093);
x_987 = x_1085;
x_988 = x_1049;
x_989 = x_1050;
x_990 = x_1051;
x_991 = x_1052;
x_992 = x_1053;
x_993 = x_1054;
x_994 = x_1055;
x_995 = x_1056;
x_996 = x_1057;
x_997 = x_1058;
x_998 = x_1059;
x_999 = x_1060;
x_1000 = x_1061;
x_1001 = x_1062;
x_1002 = x_1063;
x_1003 = x_1082;
x_1004 = x_1064;
x_1005 = x_1071;
x_1006 = x_1068;
x_1007 = x_1067;
x_1008 = x_1066;
x_1009 = x_1069;
x_1010 = x_1070;
x_1011 = x_1094;
x_1012 = x_1072;
x_1013 = x_1073;
x_1014 = x_1074;
x_1015 = x_1075;
x_1016 = x_1076;
x_1017 = x_1077;
x_1018 = x_1078;
x_1019 = x_1079;
x_1020 = lean_box(0);
goto block_1047;
}
else
{
lean_object* x_1095; lean_object* x_1096; lean_object* x_1097; 
lean_dec(x_1085);
lean_dec(x_1082);
lean_dec(x_1079);
lean_dec_ref(x_1078);
lean_dec(x_1077);
lean_dec_ref(x_1076);
lean_dec(x_1075);
lean_dec_ref(x_1074);
lean_dec(x_1073);
lean_dec(x_1072);
lean_dec(x_1071);
lean_dec(x_1070);
lean_dec_ref(x_1069);
lean_dec(x_1068);
lean_dec_ref(x_1067);
lean_dec(x_1066);
lean_dec(x_1064);
lean_dec(x_1063);
lean_dec(x_1062);
lean_dec_ref(x_1061);
lean_dec_ref(x_1060);
lean_dec(x_1058);
lean_dec_ref(x_1057);
lean_dec(x_1056);
lean_dec_ref(x_1055);
lean_dec(x_1054);
lean_dec(x_1053);
lean_dec_ref(x_1052);
lean_dec_ref(x_1051);
lean_dec(x_1050);
lean_dec_ref(x_1049);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1095 = lean_ctor_get(x_1092, 0);
lean_inc(x_1095);
if (lean_is_exclusive(x_1092)) {
 lean_ctor_release(x_1092, 0);
 x_1096 = x_1092;
} else {
 lean_dec_ref(x_1092);
 x_1096 = lean_box(0);
}
if (lean_is_scalar(x_1096)) {
 x_1097 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1097 = x_1096;
}
lean_ctor_set(x_1097, 0, x_1095);
return x_1097;
}
}
else
{
lean_object* x_1098; lean_object* x_1099; lean_object* x_1100; 
lean_dec(x_1085);
lean_dec(x_1082);
lean_dec(x_1079);
lean_dec_ref(x_1078);
lean_dec(x_1077);
lean_dec_ref(x_1076);
lean_dec(x_1075);
lean_dec_ref(x_1074);
lean_dec(x_1073);
lean_dec(x_1072);
lean_dec(x_1071);
lean_dec(x_1070);
lean_dec_ref(x_1069);
lean_dec(x_1068);
lean_dec_ref(x_1067);
lean_dec(x_1066);
lean_dec(x_1065);
lean_dec(x_1064);
lean_dec(x_1063);
lean_dec(x_1062);
lean_dec_ref(x_1061);
lean_dec_ref(x_1060);
lean_dec(x_1058);
lean_dec_ref(x_1057);
lean_dec(x_1056);
lean_dec_ref(x_1055);
lean_dec(x_1054);
lean_dec(x_1053);
lean_dec_ref(x_1052);
lean_dec_ref(x_1051);
lean_dec(x_1050);
lean_dec_ref(x_1049);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1098 = lean_ctor_get(x_1087, 0);
lean_inc(x_1098);
if (lean_is_exclusive(x_1087)) {
 lean_ctor_release(x_1087, 0);
 x_1099 = x_1087;
} else {
 lean_dec_ref(x_1087);
 x_1099 = lean_box(0);
}
if (lean_is_scalar(x_1099)) {
 x_1100 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1100 = x_1099;
}
lean_ctor_set(x_1100, 0, x_1098);
return x_1100;
}
}
}
else
{
lean_object* x_1101; lean_object* x_1102; lean_object* x_1103; 
lean_dec(x_1082);
lean_dec(x_1079);
lean_dec_ref(x_1078);
lean_dec(x_1077);
lean_dec_ref(x_1076);
lean_dec(x_1075);
lean_dec_ref(x_1074);
lean_dec(x_1073);
lean_dec(x_1072);
lean_dec(x_1071);
lean_dec(x_1070);
lean_dec_ref(x_1069);
lean_dec(x_1068);
lean_dec(x_1067);
lean_dec(x_1066);
lean_dec(x_1065);
lean_dec(x_1064);
lean_dec(x_1063);
lean_dec(x_1062);
lean_dec_ref(x_1061);
lean_dec_ref(x_1060);
lean_dec(x_1058);
lean_dec_ref(x_1057);
lean_dec(x_1056);
lean_dec_ref(x_1055);
lean_dec(x_1054);
lean_dec(x_1053);
lean_dec_ref(x_1052);
lean_dec_ref(x_1051);
lean_dec(x_1050);
lean_dec_ref(x_1049);
lean_dec(x_1048);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1101 = lean_ctor_get(x_1083, 0);
lean_inc(x_1101);
if (lean_is_exclusive(x_1083)) {
 lean_ctor_release(x_1083, 0);
 x_1102 = x_1083;
} else {
 lean_dec_ref(x_1083);
 x_1102 = lean_box(0);
}
if (lean_is_scalar(x_1102)) {
 x_1103 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1103 = x_1102;
}
lean_ctor_set(x_1103, 0, x_1101);
return x_1103;
}
}
else
{
lean_object* x_1104; lean_object* x_1105; lean_object* x_1106; 
lean_dec(x_1079);
lean_dec_ref(x_1078);
lean_dec(x_1077);
lean_dec_ref(x_1076);
lean_dec(x_1075);
lean_dec_ref(x_1074);
lean_dec(x_1073);
lean_dec(x_1072);
lean_dec(x_1071);
lean_dec(x_1070);
lean_dec_ref(x_1069);
lean_dec(x_1068);
lean_dec(x_1067);
lean_dec(x_1066);
lean_dec(x_1065);
lean_dec(x_1064);
lean_dec(x_1063);
lean_dec(x_1062);
lean_dec_ref(x_1061);
lean_dec_ref(x_1060);
lean_dec(x_1058);
lean_dec_ref(x_1057);
lean_dec(x_1056);
lean_dec_ref(x_1055);
lean_dec(x_1054);
lean_dec(x_1053);
lean_dec_ref(x_1052);
lean_dec_ref(x_1051);
lean_dec(x_1050);
lean_dec_ref(x_1049);
lean_dec(x_1048);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1104 = lean_ctor_get(x_1081, 0);
lean_inc(x_1104);
if (lean_is_exclusive(x_1081)) {
 lean_ctor_release(x_1081, 0);
 x_1105 = x_1081;
} else {
 lean_dec_ref(x_1081);
 x_1105 = lean_box(0);
}
if (lean_is_scalar(x_1105)) {
 x_1106 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1106 = x_1105;
}
lean_ctor_set(x_1106, 0, x_1104);
return x_1106;
}
}
block_1151:
{
if (lean_obj_tag(x_984) == 1)
{
lean_object* x_1141; lean_object* x_1142; lean_object* x_1143; lean_object* x_1144; lean_object* x_1145; 
x_1141 = lean_ctor_get(x_984, 0);
x_1142 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__13;
x_1143 = l_Lean_mkConst(x_1142, x_1118);
lean_inc(x_1141);
lean_inc_ref(x_1);
x_1144 = l_Lean_mkAppB(x_1143, x_1, x_1141);
lean_inc(x_1139);
lean_inc_ref(x_1138);
lean_inc(x_1137);
lean_inc_ref(x_1136);
lean_inc(x_1135);
lean_inc_ref(x_1134);
lean_inc(x_1133);
lean_inc(x_1132);
x_1145 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1144, x_1132, x_1133, x_1134, x_1135, x_1136, x_1137, x_1138, x_1139);
if (lean_obj_tag(x_1145) == 0)
{
lean_object* x_1146; lean_object* x_1147; 
x_1146 = lean_ctor_get(x_1145, 0);
lean_inc(x_1146);
lean_dec_ref(x_1145);
if (lean_is_scalar(x_978)) {
 x_1147 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1147 = x_978;
 lean_ctor_set_tag(x_1147, 1);
}
lean_ctor_set(x_1147, 0, x_1146);
x_1048 = x_1108;
x_1049 = x_1109;
x_1050 = x_1110;
x_1051 = x_1111;
x_1052 = x_1112;
x_1053 = x_1113;
x_1054 = x_1114;
x_1055 = x_1115;
x_1056 = x_1116;
x_1057 = x_1117;
x_1058 = x_1131;
x_1059 = x_1119;
x_1060 = x_1120;
x_1061 = x_1121;
x_1062 = x_1122;
x_1063 = x_1123;
x_1064 = x_1124;
x_1065 = x_1125;
x_1066 = x_1128;
x_1067 = x_1127;
x_1068 = x_1126;
x_1069 = x_1129;
x_1070 = x_1130;
x_1071 = x_1147;
x_1072 = x_1132;
x_1073 = x_1133;
x_1074 = x_1134;
x_1075 = x_1135;
x_1076 = x_1136;
x_1077 = x_1137;
x_1078 = x_1138;
x_1079 = x_1139;
x_1080 = lean_box(0);
goto block_1107;
}
else
{
lean_object* x_1148; lean_object* x_1149; lean_object* x_1150; 
lean_dec(x_1139);
lean_dec_ref(x_1138);
lean_dec(x_1137);
lean_dec_ref(x_1136);
lean_dec(x_1135);
lean_dec_ref(x_1134);
lean_dec(x_1133);
lean_dec(x_1132);
lean_dec(x_1131);
lean_dec(x_1130);
lean_dec_ref(x_1129);
lean_dec(x_1128);
lean_dec(x_1127);
lean_dec(x_1126);
lean_dec(x_1125);
lean_dec(x_1124);
lean_dec(x_1123);
lean_dec(x_1122);
lean_dec_ref(x_1121);
lean_dec_ref(x_1120);
lean_dec_ref(x_1117);
lean_dec(x_1116);
lean_dec_ref(x_1115);
lean_dec(x_1114);
lean_dec(x_1113);
lean_dec_ref(x_1112);
lean_dec_ref(x_1111);
lean_dec(x_1110);
lean_dec_ref(x_1109);
lean_dec(x_1108);
lean_dec(x_986);
lean_dec_ref(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1148 = lean_ctor_get(x_1145, 0);
lean_inc(x_1148);
if (lean_is_exclusive(x_1145)) {
 lean_ctor_release(x_1145, 0);
 x_1149 = x_1145;
} else {
 lean_dec_ref(x_1145);
 x_1149 = lean_box(0);
}
if (lean_is_scalar(x_1149)) {
 x_1150 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1150 = x_1149;
}
lean_ctor_set(x_1150, 0, x_1148);
return x_1150;
}
}
else
{
lean_dec(x_1118);
lean_dec(x_978);
lean_inc(x_1108);
x_1048 = x_1108;
x_1049 = x_1109;
x_1050 = x_1110;
x_1051 = x_1111;
x_1052 = x_1112;
x_1053 = x_1113;
x_1054 = x_1114;
x_1055 = x_1115;
x_1056 = x_1116;
x_1057 = x_1117;
x_1058 = x_1131;
x_1059 = x_1119;
x_1060 = x_1120;
x_1061 = x_1121;
x_1062 = x_1122;
x_1063 = x_1123;
x_1064 = x_1124;
x_1065 = x_1125;
x_1066 = x_1128;
x_1067 = x_1127;
x_1068 = x_1126;
x_1069 = x_1129;
x_1070 = x_1130;
x_1071 = x_1108;
x_1072 = x_1132;
x_1073 = x_1133;
x_1074 = x_1134;
x_1075 = x_1135;
x_1076 = x_1136;
x_1077 = x_1137;
x_1078 = x_1138;
x_1079 = x_1139;
x_1080 = lean_box(0);
goto block_1107;
}
}
block_1338:
{
lean_object* x_1183; 
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1183 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg(x_974, x_1, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1183) == 0)
{
lean_object* x_1184; lean_object* x_1185; lean_object* x_1186; 
x_1184 = lean_ctor_get(x_1183, 0);
lean_inc(x_1184);
lean_dec_ref(x_1183);
x_1185 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15;
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1186 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_1185, x_974, x_1, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1186) == 0)
{
lean_object* x_1187; lean_object* x_1188; lean_object* x_1189; lean_object* x_1190; lean_object* x_1191; 
x_1187 = lean_ctor_get(x_1186, 0);
lean_inc(x_1187);
lean_dec_ref(x_1186);
x_1188 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17;
lean_inc(x_1162);
x_1189 = l_Lean_mkConst(x_1188, x_1162);
lean_inc(x_1187);
lean_inc_ref(x_1);
x_1190 = l_Lean_mkAppB(x_1189, x_1, x_1187);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc(x_1177);
lean_inc_ref(x_1176);
lean_inc(x_1175);
lean_inc(x_1174);
x_1191 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(x_1190, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1191) == 0)
{
lean_object* x_1192; lean_object* x_1193; lean_object* x_1194; lean_object* x_1195; lean_object* x_1196; lean_object* x_1197; lean_object* x_1198; 
x_1192 = lean_ctor_get(x_1191, 0);
lean_inc(x_1192);
lean_dec_ref(x_1191);
x_1193 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__19;
lean_inc(x_1162);
x_1194 = l_Lean_mkConst(x_1193, x_1162);
x_1195 = lean_unsigned_to_nat(0u);
x_1196 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__20;
lean_inc_ref(x_1);
x_1197 = l_Lean_mkAppB(x_1194, x_1, x_1196);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
x_1198 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_1197, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1198) == 0)
{
lean_object* x_1199; lean_object* x_1200; 
x_1199 = lean_ctor_get(x_1198, 0);
lean_inc(x_1199);
if (lean_is_exclusive(x_1198)) {
 lean_ctor_release(x_1198, 0);
 x_1200 = x_1198;
} else {
 lean_dec_ref(x_1198);
 x_1200 = lean_box(0);
}
if (lean_obj_tag(x_1199) == 1)
{
lean_object* x_1201; lean_object* x_1202; lean_object* x_1203; lean_object* x_1204; lean_object* x_1205; lean_object* x_1206; 
lean_dec(x_1200);
x_1201 = lean_ctor_get(x_1199, 0);
lean_inc(x_1201);
if (lean_is_exclusive(x_1199)) {
 lean_ctor_release(x_1199, 0);
 x_1202 = x_1199;
} else {
 lean_dec_ref(x_1199);
 x_1202 = lean_box(0);
}
x_1203 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22;
lean_inc(x_1162);
x_1204 = l_Lean_mkConst(x_1203, x_1162);
lean_inc_ref(x_1);
x_1205 = l_Lean_mkApp3(x_1204, x_1, x_1196, x_1201);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc(x_1177);
lean_inc_ref(x_1176);
lean_inc(x_1175);
lean_inc(x_1174);
x_1206 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1205, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1206) == 0)
{
lean_object* x_1207; lean_object* x_1208; 
x_1207 = lean_ctor_get(x_1206, 0);
lean_inc(x_1207);
lean_dec_ref(x_1206);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc(x_1207);
lean_inc(x_1192);
x_1208 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq(x_1192, x_1207, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1208) == 0)
{
lean_object* x_1209; lean_object* x_1210; 
lean_dec_ref(x_1208);
x_1209 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24;
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1210 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_1209, x_974, x_1, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1210) == 0)
{
lean_object* x_1211; lean_object* x_1212; lean_object* x_1213; lean_object* x_1214; lean_object* x_1215; 
x_1211 = lean_ctor_get(x_1210, 0);
lean_inc(x_1211);
lean_dec_ref(x_1210);
x_1212 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26;
lean_inc(x_1169);
x_1213 = l_Lean_mkConst(x_1212, x_1169);
lean_inc(x_1211);
lean_inc_ref_n(x_1, 3);
x_1214 = l_Lean_mkApp4(x_1213, x_1, x_1, x_1, x_1211);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc(x_1177);
lean_inc_ref(x_1176);
lean_inc(x_1175);
lean_inc(x_1174);
x_1215 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1214, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1215) == 0)
{
lean_object* x_1216; lean_object* x_1217; lean_object* x_1218; 
x_1216 = lean_ctor_get(x_1215, 0);
lean_inc(x_1216);
lean_dec_ref(x_1215);
x_1217 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28;
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1218 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_1217, x_974, x_1, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1218) == 0)
{
lean_object* x_1219; lean_object* x_1220; lean_object* x_1221; lean_object* x_1222; lean_object* x_1223; 
x_1219 = lean_ctor_get(x_1218, 0);
lean_inc(x_1219);
lean_dec_ref(x_1218);
x_1220 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30;
lean_inc(x_1162);
x_1221 = l_Lean_mkConst(x_1220, x_1162);
lean_inc(x_1219);
lean_inc_ref(x_1);
x_1222 = l_Lean_mkAppB(x_1221, x_1, x_1219);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc(x_1177);
lean_inc_ref(x_1176);
lean_inc(x_1175);
lean_inc(x_1174);
x_1223 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1222, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1223) == 0)
{
lean_object* x_1224; lean_object* x_1225; 
x_1224 = lean_ctor_get(x_1223, 0);
lean_inc(x_1224);
lean_dec_ref(x_1223);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1225 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst(x_974, x_1, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1225) == 0)
{
lean_object* x_1226; lean_object* x_1227; lean_object* x_1228; lean_object* x_1229; lean_object* x_1230; lean_object* x_1231; lean_object* x_1232; lean_object* x_1233; 
x_1226 = lean_ctor_get(x_1225, 0);
lean_inc(x_1226);
lean_dec_ref(x_1225);
x_1227 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_1228 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_1229 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_1229, 0, x_1228);
lean_ctor_set(x_1229, 1, x_1168);
x_1230 = l_Lean_mkConst(x_1227, x_1229);
x_1231 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3;
lean_inc(x_1226);
lean_inc_ref_n(x_1, 2);
lean_inc_ref(x_1230);
x_1232 = l_Lean_mkApp4(x_1230, x_1231, x_1, x_1, x_1226);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc(x_1177);
lean_inc_ref(x_1176);
lean_inc(x_1175);
lean_inc(x_1174);
x_1233 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1232, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1233) == 0)
{
lean_object* x_1234; lean_object* x_1235; 
x_1234 = lean_ctor_get(x_1233, 0);
lean_inc(x_1234);
lean_dec_ref(x_1233);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1235 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(x_974, x_1, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1235) == 0)
{
lean_object* x_1236; lean_object* x_1237; lean_object* x_1238; lean_object* x_1239; 
x_1236 = lean_ctor_get(x_1235, 0);
lean_inc(x_1236);
lean_dec_ref(x_1235);
x_1237 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
lean_inc(x_1236);
lean_inc_ref_n(x_1, 2);
x_1238 = l_Lean_mkApp4(x_1230, x_1237, x_1, x_1, x_1236);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc(x_1177);
lean_inc_ref(x_1176);
lean_inc(x_1175);
lean_inc(x_1174);
x_1239 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1238, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1239) == 0)
{
lean_object* x_1240; lean_object* x_1241; lean_object* x_1242; lean_object* x_1243; lean_object* x_1244; 
x_1240 = lean_ctor_get(x_1239, 0);
lean_inc(x_1240);
lean_dec_ref(x_1239);
x_1241 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31;
x_1242 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32;
lean_inc_ref(x_1159);
lean_inc_ref(x_1164);
x_1243 = l_Lean_Name_mkStr4(x_1164, x_1159, x_1241, x_1242);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
lean_inc_ref(x_1160);
x_1244 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_1187, x_1160, x_1243, x_974, x_1, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1244) == 0)
{
lean_object* x_1245; lean_object* x_1246; lean_object* x_1247; lean_object* x_1248; lean_object* x_1249; 
lean_dec_ref(x_1244);
x_1245 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33;
lean_inc_ref(x_1159);
lean_inc_ref(x_1164);
x_1246 = l_Lean_Name_mkStr4(x_1164, x_1159, x_1241, x_1245);
x_1247 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35;
x_1248 = lean_box(0);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1249 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_1153, x_1160, x_1246, x_1247, x_974, x_1, x_1248, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1249) == 0)
{
lean_object* x_1250; lean_object* x_1251; lean_object* x_1252; lean_object* x_1253; 
lean_dec_ref(x_1249);
x_1250 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36;
lean_inc_ref(x_1155);
lean_inc_ref(x_1159);
lean_inc_ref(x_1164);
x_1251 = l_Lean_Name_mkStr4(x_1164, x_1159, x_1155, x_1250);
x_1252 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38;
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
lean_inc_ref(x_1170);
x_1253 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_1211, x_1170, x_1251, x_1252, x_974, x_1, x_1248, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1253) == 0)
{
lean_object* x_1254; lean_object* x_1255; lean_object* x_1256; 
lean_dec_ref(x_1253);
x_1254 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39;
lean_inc_ref(x_1159);
lean_inc_ref(x_1164);
x_1255 = l_Lean_Name_mkStr4(x_1164, x_1159, x_1155, x_1254);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
x_1256 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToFieldDefEq___redArg(x_1219, x_1170, x_1255, x_974, x_1, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1256) == 0)
{
lean_object* x_1257; lean_object* x_1258; lean_object* x_1259; lean_object* x_1260; lean_object* x_1261; 
lean_dec_ref(x_1256);
x_1257 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40;
lean_inc_ref(x_1157);
lean_inc_ref(x_1159);
lean_inc_ref(x_1164);
x_1258 = l_Lean_Name_mkStr4(x_1164, x_1159, x_1157, x_1257);
x_1259 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42;
x_1260 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43;
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
lean_inc_ref(x_1165);
x_1261 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_1226, x_1165, x_1258, x_1259, x_974, x_1, x_1260, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1261) == 0)
{
lean_object* x_1262; lean_object* x_1263; lean_object* x_1264; lean_object* x_1265; 
lean_dec_ref(x_1261);
x_1262 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44;
x_1263 = l_Lean_Name_mkStr4(x_1164, x_1159, x_1157, x_1262);
x_1264 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45;
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc_ref(x_1);
lean_inc(x_974);
lean_inc_ref(x_1165);
x_1265 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureToHomoFieldDefEq___redArg(x_1236, x_1165, x_1263, x_1259, x_974, x_1, x_1264, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1265) == 0)
{
lean_dec_ref(x_1265);
if (lean_obj_tag(x_981) == 1)
{
lean_object* x_1266; lean_object* x_1267; lean_object* x_1268; lean_object* x_1269; lean_object* x_1270; 
x_1266 = lean_ctor_get(x_981, 0);
x_1267 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47;
lean_inc(x_1162);
x_1268 = l_Lean_mkConst(x_1267, x_1162);
lean_inc(x_1266);
lean_inc_ref(x_1);
x_1269 = l_Lean_mkAppB(x_1268, x_1, x_1266);
lean_inc(x_1181);
lean_inc_ref(x_1180);
lean_inc(x_1179);
lean_inc_ref(x_1178);
lean_inc(x_1177);
lean_inc_ref(x_1176);
lean_inc(x_1175);
lean_inc(x_1174);
x_1270 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_1269, x_1174, x_1175, x_1176, x_1177, x_1178, x_1179, x_1180, x_1181);
if (lean_obj_tag(x_1270) == 0)
{
lean_object* x_1271; lean_object* x_1272; 
x_1271 = lean_ctor_get(x_1270, 0);
lean_inc(x_1271);
lean_dec_ref(x_1270);
if (lean_is_scalar(x_1202)) {
 x_1272 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1272 = x_1202;
}
lean_ctor_set(x_1272, 0, x_1271);
x_1108 = x_1248;
x_1109 = x_1240;
x_1110 = x_1152;
x_1111 = x_1216;
x_1112 = x_1234;
x_1113 = x_1154;
x_1114 = x_1156;
x_1115 = x_1192;
x_1116 = x_1158;
x_1117 = x_1161;
x_1118 = x_1162;
x_1119 = x_1163;
x_1120 = x_1207;
x_1121 = x_1165;
x_1122 = x_1166;
x_1123 = x_1167;
x_1124 = x_1195;
x_1125 = x_1169;
x_1126 = x_1172;
x_1127 = x_1171;
x_1128 = x_1173;
x_1129 = x_1224;
x_1130 = x_1184;
x_1131 = x_1272;
x_1132 = x_1174;
x_1133 = x_1175;
x_1134 = x_1176;
x_1135 = x_1177;
x_1136 = x_1178;
x_1137 = x_1179;
x_1138 = x_1180;
x_1139 = x_1181;
x_1140 = lean_box(0);
goto block_1151;
}
else
{
lean_object* x_1273; lean_object* x_1274; lean_object* x_1275; 
lean_dec(x_1240);
lean_dec(x_1234);
lean_dec(x_1224);
lean_dec(x_1216);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec(x_1158);
lean_dec(x_1156);
lean_dec(x_1154);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec_ref(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1273 = lean_ctor_get(x_1270, 0);
lean_inc(x_1273);
if (lean_is_exclusive(x_1270)) {
 lean_ctor_release(x_1270, 0);
 x_1274 = x_1270;
} else {
 lean_dec_ref(x_1270);
 x_1274 = lean_box(0);
}
if (lean_is_scalar(x_1274)) {
 x_1275 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1275 = x_1274;
}
lean_ctor_set(x_1275, 0, x_1273);
return x_1275;
}
}
else
{
lean_dec(x_1202);
x_1108 = x_1248;
x_1109 = x_1240;
x_1110 = x_1152;
x_1111 = x_1216;
x_1112 = x_1234;
x_1113 = x_1154;
x_1114 = x_1156;
x_1115 = x_1192;
x_1116 = x_1158;
x_1117 = x_1161;
x_1118 = x_1162;
x_1119 = x_1163;
x_1120 = x_1207;
x_1121 = x_1165;
x_1122 = x_1166;
x_1123 = x_1167;
x_1124 = x_1195;
x_1125 = x_1169;
x_1126 = x_1172;
x_1127 = x_1171;
x_1128 = x_1173;
x_1129 = x_1224;
x_1130 = x_1184;
x_1131 = x_1248;
x_1132 = x_1174;
x_1133 = x_1175;
x_1134 = x_1176;
x_1135 = x_1177;
x_1136 = x_1178;
x_1137 = x_1179;
x_1138 = x_1180;
x_1139 = x_1181;
x_1140 = lean_box(0);
goto block_1151;
}
}
else
{
lean_object* x_1276; lean_object* x_1277; lean_object* x_1278; 
lean_dec(x_1240);
lean_dec(x_1234);
lean_dec(x_1224);
lean_dec(x_1216);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec(x_1158);
lean_dec(x_1156);
lean_dec(x_1154);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1276 = lean_ctor_get(x_1265, 0);
lean_inc(x_1276);
if (lean_is_exclusive(x_1265)) {
 lean_ctor_release(x_1265, 0);
 x_1277 = x_1265;
} else {
 lean_dec_ref(x_1265);
 x_1277 = lean_box(0);
}
if (lean_is_scalar(x_1277)) {
 x_1278 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1278 = x_1277;
}
lean_ctor_set(x_1278, 0, x_1276);
return x_1278;
}
}
else
{
lean_object* x_1279; lean_object* x_1280; lean_object* x_1281; 
lean_dec(x_1240);
lean_dec(x_1236);
lean_dec(x_1234);
lean_dec(x_1224);
lean_dec(x_1216);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec(x_1154);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1279 = lean_ctor_get(x_1261, 0);
lean_inc(x_1279);
if (lean_is_exclusive(x_1261)) {
 lean_ctor_release(x_1261, 0);
 x_1280 = x_1261;
} else {
 lean_dec_ref(x_1261);
 x_1280 = lean_box(0);
}
if (lean_is_scalar(x_1280)) {
 x_1281 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1281 = x_1280;
}
lean_ctor_set(x_1281, 0, x_1279);
return x_1281;
}
}
else
{
lean_object* x_1282; lean_object* x_1283; lean_object* x_1284; 
lean_dec(x_1240);
lean_dec(x_1236);
lean_dec(x_1234);
lean_dec(x_1226);
lean_dec(x_1224);
lean_dec(x_1216);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec(x_1154);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1282 = lean_ctor_get(x_1256, 0);
lean_inc(x_1282);
if (lean_is_exclusive(x_1256)) {
 lean_ctor_release(x_1256, 0);
 x_1283 = x_1256;
} else {
 lean_dec_ref(x_1256);
 x_1283 = lean_box(0);
}
if (lean_is_scalar(x_1283)) {
 x_1284 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1284 = x_1283;
}
lean_ctor_set(x_1284, 0, x_1282);
return x_1284;
}
}
else
{
lean_object* x_1285; lean_object* x_1286; lean_object* x_1287; 
lean_dec(x_1240);
lean_dec(x_1236);
lean_dec(x_1234);
lean_dec(x_1226);
lean_dec(x_1224);
lean_dec(x_1219);
lean_dec(x_1216);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1285 = lean_ctor_get(x_1253, 0);
lean_inc(x_1285);
if (lean_is_exclusive(x_1253)) {
 lean_ctor_release(x_1253, 0);
 x_1286 = x_1253;
} else {
 lean_dec_ref(x_1253);
 x_1286 = lean_box(0);
}
if (lean_is_scalar(x_1286)) {
 x_1287 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1287 = x_1286;
}
lean_ctor_set(x_1287, 0, x_1285);
return x_1287;
}
}
else
{
lean_object* x_1288; lean_object* x_1289; lean_object* x_1290; 
lean_dec(x_1240);
lean_dec(x_1236);
lean_dec(x_1234);
lean_dec(x_1226);
lean_dec(x_1224);
lean_dec(x_1219);
lean_dec(x_1216);
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1288 = lean_ctor_get(x_1249, 0);
lean_inc(x_1288);
if (lean_is_exclusive(x_1249)) {
 lean_ctor_release(x_1249, 0);
 x_1289 = x_1249;
} else {
 lean_dec_ref(x_1249);
 x_1289 = lean_box(0);
}
if (lean_is_scalar(x_1289)) {
 x_1290 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1290 = x_1289;
}
lean_ctor_set(x_1290, 0, x_1288);
return x_1290;
}
}
else
{
lean_object* x_1291; lean_object* x_1292; lean_object* x_1293; 
lean_dec(x_1240);
lean_dec(x_1236);
lean_dec(x_1234);
lean_dec(x_1226);
lean_dec(x_1224);
lean_dec(x_1219);
lean_dec(x_1216);
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1291 = lean_ctor_get(x_1244, 0);
lean_inc(x_1291);
if (lean_is_exclusive(x_1244)) {
 lean_ctor_release(x_1244, 0);
 x_1292 = x_1244;
} else {
 lean_dec_ref(x_1244);
 x_1292 = lean_box(0);
}
if (lean_is_scalar(x_1292)) {
 x_1293 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1293 = x_1292;
}
lean_ctor_set(x_1293, 0, x_1291);
return x_1293;
}
}
else
{
lean_object* x_1294; lean_object* x_1295; lean_object* x_1296; 
lean_dec(x_1236);
lean_dec(x_1234);
lean_dec(x_1226);
lean_dec(x_1224);
lean_dec(x_1219);
lean_dec(x_1216);
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1294 = lean_ctor_get(x_1239, 0);
lean_inc(x_1294);
if (lean_is_exclusive(x_1239)) {
 lean_ctor_release(x_1239, 0);
 x_1295 = x_1239;
} else {
 lean_dec_ref(x_1239);
 x_1295 = lean_box(0);
}
if (lean_is_scalar(x_1295)) {
 x_1296 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1296 = x_1295;
}
lean_ctor_set(x_1296, 0, x_1294);
return x_1296;
}
}
else
{
lean_object* x_1297; lean_object* x_1298; lean_object* x_1299; 
lean_dec(x_1234);
lean_dec_ref(x_1230);
lean_dec(x_1226);
lean_dec(x_1224);
lean_dec(x_1219);
lean_dec(x_1216);
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1297 = lean_ctor_get(x_1235, 0);
lean_inc(x_1297);
if (lean_is_exclusive(x_1235)) {
 lean_ctor_release(x_1235, 0);
 x_1298 = x_1235;
} else {
 lean_dec_ref(x_1235);
 x_1298 = lean_box(0);
}
if (lean_is_scalar(x_1298)) {
 x_1299 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1299 = x_1298;
}
lean_ctor_set(x_1299, 0, x_1297);
return x_1299;
}
}
else
{
lean_object* x_1300; lean_object* x_1301; lean_object* x_1302; 
lean_dec_ref(x_1230);
lean_dec(x_1226);
lean_dec(x_1224);
lean_dec(x_1219);
lean_dec(x_1216);
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1300 = lean_ctor_get(x_1233, 0);
lean_inc(x_1300);
if (lean_is_exclusive(x_1233)) {
 lean_ctor_release(x_1233, 0);
 x_1301 = x_1233;
} else {
 lean_dec_ref(x_1233);
 x_1301 = lean_box(0);
}
if (lean_is_scalar(x_1301)) {
 x_1302 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1302 = x_1301;
}
lean_ctor_set(x_1302, 0, x_1300);
return x_1302;
}
}
else
{
lean_object* x_1303; lean_object* x_1304; lean_object* x_1305; 
lean_dec(x_1224);
lean_dec(x_1219);
lean_dec(x_1216);
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1303 = lean_ctor_get(x_1225, 0);
lean_inc(x_1303);
if (lean_is_exclusive(x_1225)) {
 lean_ctor_release(x_1225, 0);
 x_1304 = x_1225;
} else {
 lean_dec_ref(x_1225);
 x_1304 = lean_box(0);
}
if (lean_is_scalar(x_1304)) {
 x_1305 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1305 = x_1304;
}
lean_ctor_set(x_1305, 0, x_1303);
return x_1305;
}
}
else
{
lean_object* x_1306; lean_object* x_1307; lean_object* x_1308; 
lean_dec(x_1219);
lean_dec(x_1216);
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1306 = lean_ctor_get(x_1223, 0);
lean_inc(x_1306);
if (lean_is_exclusive(x_1223)) {
 lean_ctor_release(x_1223, 0);
 x_1307 = x_1223;
} else {
 lean_dec_ref(x_1223);
 x_1307 = lean_box(0);
}
if (lean_is_scalar(x_1307)) {
 x_1308 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1308 = x_1307;
}
lean_ctor_set(x_1308, 0, x_1306);
return x_1308;
}
}
else
{
lean_object* x_1309; lean_object* x_1310; lean_object* x_1311; 
lean_dec(x_1216);
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1309 = lean_ctor_get(x_1218, 0);
lean_inc(x_1309);
if (lean_is_exclusive(x_1218)) {
 lean_ctor_release(x_1218, 0);
 x_1310 = x_1218;
} else {
 lean_dec_ref(x_1218);
 x_1310 = lean_box(0);
}
if (lean_is_scalar(x_1310)) {
 x_1311 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1311 = x_1310;
}
lean_ctor_set(x_1311, 0, x_1309);
return x_1311;
}
}
else
{
lean_object* x_1312; lean_object* x_1313; lean_object* x_1314; 
lean_dec(x_1211);
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1312 = lean_ctor_get(x_1215, 0);
lean_inc(x_1312);
if (lean_is_exclusive(x_1215)) {
 lean_ctor_release(x_1215, 0);
 x_1313 = x_1215;
} else {
 lean_dec_ref(x_1215);
 x_1313 = lean_box(0);
}
if (lean_is_scalar(x_1313)) {
 x_1314 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1314 = x_1313;
}
lean_ctor_set(x_1314, 0, x_1312);
return x_1314;
}
}
else
{
lean_object* x_1315; lean_object* x_1316; lean_object* x_1317; 
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1315 = lean_ctor_get(x_1210, 0);
lean_inc(x_1315);
if (lean_is_exclusive(x_1210)) {
 lean_ctor_release(x_1210, 0);
 x_1316 = x_1210;
} else {
 lean_dec_ref(x_1210);
 x_1316 = lean_box(0);
}
if (lean_is_scalar(x_1316)) {
 x_1317 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1317 = x_1316;
}
lean_ctor_set(x_1317, 0, x_1315);
return x_1317;
}
}
else
{
lean_object* x_1318; lean_object* x_1319; lean_object* x_1320; 
lean_dec(x_1207);
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1318 = lean_ctor_get(x_1208, 0);
lean_inc(x_1318);
if (lean_is_exclusive(x_1208)) {
 lean_ctor_release(x_1208, 0);
 x_1319 = x_1208;
} else {
 lean_dec_ref(x_1208);
 x_1319 = lean_box(0);
}
if (lean_is_scalar(x_1319)) {
 x_1320 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1320 = x_1319;
}
lean_ctor_set(x_1320, 0, x_1318);
return x_1320;
}
}
else
{
lean_object* x_1321; lean_object* x_1322; lean_object* x_1323; 
lean_dec(x_1202);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1321 = lean_ctor_get(x_1206, 0);
lean_inc(x_1321);
if (lean_is_exclusive(x_1206)) {
 lean_ctor_release(x_1206, 0);
 x_1322 = x_1206;
} else {
 lean_dec_ref(x_1206);
 x_1322 = lean_box(0);
}
if (lean_is_scalar(x_1322)) {
 x_1323 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1323 = x_1322;
}
lean_ctor_set(x_1323, 0, x_1321);
return x_1323;
}
}
else
{
lean_object* x_1324; lean_object* x_1325; 
lean_dec(x_1199);
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1324 = lean_box(0);
if (lean_is_scalar(x_1200)) {
 x_1325 = lean_alloc_ctor(0, 1, 0);
} else {
 x_1325 = x_1200;
}
lean_ctor_set(x_1325, 0, x_1324);
return x_1325;
}
}
else
{
lean_object* x_1326; lean_object* x_1327; lean_object* x_1328; 
lean_dec(x_1192);
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1326 = lean_ctor_get(x_1198, 0);
lean_inc(x_1326);
if (lean_is_exclusive(x_1198)) {
 lean_ctor_release(x_1198, 0);
 x_1327 = x_1198;
} else {
 lean_dec_ref(x_1198);
 x_1327 = lean_box(0);
}
if (lean_is_scalar(x_1327)) {
 x_1328 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1328 = x_1327;
}
lean_ctor_set(x_1328, 0, x_1326);
return x_1328;
}
}
else
{
lean_object* x_1329; lean_object* x_1330; lean_object* x_1331; 
lean_dec(x_1187);
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1329 = lean_ctor_get(x_1191, 0);
lean_inc(x_1329);
if (lean_is_exclusive(x_1191)) {
 lean_ctor_release(x_1191, 0);
 x_1330 = x_1191;
} else {
 lean_dec_ref(x_1191);
 x_1330 = lean_box(0);
}
if (lean_is_scalar(x_1330)) {
 x_1331 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1331 = x_1330;
}
lean_ctor_set(x_1331, 0, x_1329);
return x_1331;
}
}
else
{
lean_object* x_1332; lean_object* x_1333; lean_object* x_1334; 
lean_dec(x_1184);
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1332 = lean_ctor_get(x_1186, 0);
lean_inc(x_1332);
if (lean_is_exclusive(x_1186)) {
 lean_ctor_release(x_1186, 0);
 x_1333 = x_1186;
} else {
 lean_dec_ref(x_1186);
 x_1333 = lean_box(0);
}
if (lean_is_scalar(x_1333)) {
 x_1334 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1334 = x_1333;
}
lean_ctor_set(x_1334, 0, x_1332);
return x_1334;
}
}
else
{
lean_object* x_1335; lean_object* x_1336; lean_object* x_1337; 
lean_dec(x_1181);
lean_dec_ref(x_1180);
lean_dec(x_1179);
lean_dec_ref(x_1178);
lean_dec(x_1177);
lean_dec_ref(x_1176);
lean_dec(x_1175);
lean_dec(x_1174);
lean_dec(x_1173);
lean_dec(x_1172);
lean_dec(x_1171);
lean_dec_ref(x_1170);
lean_dec(x_1169);
lean_dec(x_1168);
lean_dec(x_1167);
lean_dec(x_1166);
lean_dec_ref(x_1165);
lean_dec_ref(x_1164);
lean_dec(x_1162);
lean_dec_ref(x_1161);
lean_dec_ref(x_1160);
lean_dec_ref(x_1159);
lean_dec(x_1158);
lean_dec_ref(x_1157);
lean_dec(x_1156);
lean_dec_ref(x_1155);
lean_dec(x_1154);
lean_dec_ref(x_1153);
lean_dec(x_1152);
lean_dec(x_986);
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec_ref(x_1);
x_1335 = lean_ctor_get(x_1183, 0);
lean_inc(x_1335);
if (lean_is_exclusive(x_1183)) {
 lean_ctor_release(x_1183, 0);
 x_1336 = x_1183;
} else {
 lean_dec_ref(x_1183);
 x_1336 = lean_box(0);
}
if (lean_is_scalar(x_1336)) {
 x_1337 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1337 = x_1336;
}
lean_ctor_set(x_1337, 0, x_1335);
return x_1337;
}
}
}
else
{
lean_object* x_1590; lean_object* x_1591; lean_object* x_1592; 
lean_dec(x_984);
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1590 = lean_ctor_get(x_985, 0);
lean_inc(x_1590);
if (lean_is_exclusive(x_985)) {
 lean_ctor_release(x_985, 0);
 x_1591 = x_985;
} else {
 lean_dec_ref(x_985);
 x_1591 = lean_box(0);
}
if (lean_is_scalar(x_1591)) {
 x_1592 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1592 = x_1591;
}
lean_ctor_set(x_1592, 0, x_1590);
return x_1592;
}
}
else
{
lean_object* x_1593; lean_object* x_1594; lean_object* x_1595; 
lean_dec(x_981);
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1593 = lean_ctor_get(x_983, 0);
lean_inc(x_1593);
if (lean_is_exclusive(x_983)) {
 lean_ctor_release(x_983, 0);
 x_1594 = x_983;
} else {
 lean_dec_ref(x_983);
 x_1594 = lean_box(0);
}
if (lean_is_scalar(x_1594)) {
 x_1595 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1595 = x_1594;
}
lean_ctor_set(x_1595, 0, x_1593);
return x_1595;
}
}
else
{
lean_object* x_1596; lean_object* x_1597; lean_object* x_1598; 
lean_dec(x_978);
lean_dec(x_977);
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1596 = lean_ctor_get(x_980, 0);
lean_inc(x_1596);
if (lean_is_exclusive(x_980)) {
 lean_ctor_release(x_980, 0);
 x_1597 = x_980;
} else {
 lean_dec_ref(x_980);
 x_1597 = lean_box(0);
}
if (lean_is_scalar(x_1597)) {
 x_1598 = lean_alloc_ctor(1, 1, 0);
} else {
 x_1598 = x_1597;
}
lean_ctor_set(x_1598, 0, x_1596);
return x_1598;
}
}
else
{
lean_dec(x_975);
lean_dec(x_974);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
return x_976;
}
}
else
{
lean_object* x_1599; lean_object* x_1600; 
lean_dec(x_973);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1599 = lean_box(0);
x_1600 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_1600, 0, x_1599);
return x_1600;
}
}
}
else
{
uint8_t x_1601; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_1601 = !lean_is_exclusive(x_61);
if (x_1601 == 0)
{
return x_61;
}
else
{
lean_object* x_1602; lean_object* x_1603; 
x_1602 = lean_ctor_get(x_61, 0);
lean_inc(x_1602);
lean_dec(x_61);
x_1603 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_1603, 0, x_1602);
return x_1603;
}
}
block_15:
{
lean_object* x_13; lean_object* x_14; 
x_13 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_13, 0, x_11);
x_14 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_14, 0, x_13);
return x_14;
}
block_21:
{
if (lean_obj_tag(x_17) == 0)
{
lean_dec_ref(x_17);
x_11 = x_16;
x_12 = lean_box(0);
goto block_15;
}
else
{
uint8_t x_18; 
lean_dec(x_16);
x_18 = !lean_is_exclusive(x_17);
if (x_18 == 0)
{
return x_17;
}
else
{
lean_object* x_19; lean_object* x_20; 
x_19 = lean_ctor_get(x_17, 0);
lean_inc(x_19);
lean_dec(x_17);
x_20 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_20, 0, x_19);
return x_20;
}
}
}
block_41:
{
lean_object* x_34; 
lean_inc(x_25);
lean_inc(x_22);
x_34 = l_Lean_Meta_Grind_Arith_Linear_mkVar(x_31, x_26, x_22, x_25, x_33, x_28, x_29, x_27, x_23, x_32, x_24);
if (lean_obj_tag(x_34) == 0)
{
lean_object* x_35; lean_object* x_36; 
x_35 = lean_ctor_get(x_34, 0);
lean_inc(x_35);
lean_dec_ref(x_34);
lean_inc(x_22);
lean_inc(x_35);
x_36 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg(x_35, x_22, x_25);
if (lean_obj_tag(x_36) == 0)
{
lean_object* x_37; 
lean_dec_ref(x_36);
lean_inc(x_22);
x_37 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg(x_35, x_22, x_25);
lean_dec(x_25);
x_16 = x_22;
x_17 = x_37;
goto block_21;
}
else
{
lean_dec(x_35);
lean_dec(x_25);
x_16 = x_22;
x_17 = x_36;
goto block_21;
}
}
else
{
uint8_t x_38; 
lean_dec(x_25);
lean_dec(x_22);
x_38 = !lean_is_exclusive(x_34);
if (x_38 == 0)
{
return x_34;
}
else
{
lean_object* x_39; lean_object* x_40; 
x_39 = lean_ctor_get(x_34, 0);
lean_inc(x_39);
lean_dec(x_34);
x_40 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_40, 0, x_39);
return x_40;
}
}
}
block_60:
{
lean_object* x_54; 
lean_inc(x_49);
lean_inc(x_42);
x_54 = l_Lean_Meta_Grind_Arith_Linear_mkVar(x_50, x_53, x_42, x_49, x_52, x_44, x_45, x_43, x_47, x_51, x_48);
if (lean_obj_tag(x_54) == 0)
{
lean_object* x_55; lean_object* x_56; 
x_55 = lean_ctor_get(x_54, 0);
lean_inc(x_55);
lean_dec_ref(x_54);
lean_inc(x_42);
x_56 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroNeOne___redArg(x_55, x_42, x_49);
lean_dec(x_49);
x_16 = x_42;
x_17 = x_56;
goto block_21;
}
else
{
uint8_t x_57; 
lean_dec(x_49);
lean_dec(x_42);
x_57 = !lean_is_exclusive(x_54);
if (x_57 == 0)
{
return x_54;
}
else
{
lean_object* x_58; lean_object* x_59; 
x_58 = lean_ctor_get(x_54, 0);
lean_inc(x_58);
lean_dec(x_54);
x_59 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_59, 0, x_58);
return x_59;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
size_t x_7; size_t x_8; lean_object* x_9; 
x_7 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_8 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_9 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0(x_1, x_2, x_7, x_8, x_5, x_6);
return x_9;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
size_t x_8; lean_object* x_9; 
x_8 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_9 = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2(x_1, x_8, x_3, x_4, x_5, x_6, x_7);
lean_dec_ref(x_4);
lean_dec_ref(x_3);
return x_9;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
size_t x_6; lean_object* x_7; 
x_6 = lean_unbox_usize(x_1);
lean_dec(x_1);
x_7 = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0_spec__2___redArg(x_6, x_2, x_3, x_4, x_5);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
size_t x_6; size_t x_7; lean_object* x_8; 
x_6 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_7 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_8 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg(x_1, x_6, x_7, x_4, x_5);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; uint8_t x_6; 
x_5 = lean_array_get_size(x_1);
x_6 = lean_nat_dec_lt(x_3, x_5);
lean_dec(x_5);
if (x_6 == 0)
{
lean_object* x_7; 
lean_dec(x_3);
x_7 = lean_box(0);
return x_7;
}
else
{
lean_object* x_8; uint8_t x_9; 
x_8 = lean_array_fget_borrowed(x_1, x_3);
x_9 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_4, x_8);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; 
x_10 = lean_unsigned_to_nat(1u);
x_11 = lean_nat_add(x_3, x_10);
lean_dec(x_3);
x_3 = x_11;
goto _start;
}
else
{
lean_object* x_13; lean_object* x_14; 
x_13 = lean_array_fget_borrowed(x_2, x_3);
lean_dec(x_3);
lean_inc(x_13);
x_14 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_14, 0, x_13);
return x_14;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___redArg(lean_object* x_1, size_t x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
uint8_t x_4; 
x_4 = !lean_is_exclusive(x_1);
if (x_4 == 0)
{
lean_object* x_5; lean_object* x_6; size_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; 
x_5 = lean_ctor_get(x_1, 0);
x_6 = lean_box(2);
x_7 = 5;
x_8 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__1;
x_9 = lean_usize_land(x_2, x_8);
x_10 = lean_usize_to_nat(x_9);
x_11 = lean_array_get(x_6, x_5, x_10);
lean_dec(x_10);
lean_dec_ref(x_5);
switch (lean_obj_tag(x_11)) {
case 0:
{
lean_object* x_12; lean_object* x_13; uint8_t x_14; 
x_12 = lean_ctor_get(x_11, 0);
lean_inc(x_12);
x_13 = lean_ctor_get(x_11, 1);
lean_inc(x_13);
lean_dec_ref(x_11);
x_14 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_3, x_12);
lean_dec(x_12);
if (x_14 == 0)
{
lean_object* x_15; 
lean_dec(x_13);
lean_free_object(x_1);
x_15 = lean_box(0);
return x_15;
}
else
{
lean_ctor_set_tag(x_1, 1);
lean_ctor_set(x_1, 0, x_13);
return x_1;
}
}
case 1:
{
lean_object* x_16; size_t x_17; 
lean_free_object(x_1);
x_16 = lean_ctor_get(x_11, 0);
lean_inc(x_16);
lean_dec_ref(x_11);
x_17 = lean_usize_shift_right(x_2, x_7);
x_1 = x_16;
x_2 = x_17;
goto _start;
}
default: 
{
lean_object* x_19; 
lean_free_object(x_1);
x_19 = lean_box(0);
return x_19;
}
}
}
else
{
lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; size_t x_24; lean_object* x_25; lean_object* x_26; 
x_20 = lean_ctor_get(x_1, 0);
lean_inc(x_20);
lean_dec(x_1);
x_21 = lean_box(2);
x_22 = 5;
x_23 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__1;
x_24 = lean_usize_land(x_2, x_23);
x_25 = lean_usize_to_nat(x_24);
x_26 = lean_array_get(x_21, x_20, x_25);
lean_dec(x_25);
lean_dec_ref(x_20);
switch (lean_obj_tag(x_26)) {
case 0:
{
lean_object* x_27; lean_object* x_28; uint8_t x_29; 
x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
x_28 = lean_ctor_get(x_26, 1);
lean_inc(x_28);
lean_dec_ref(x_26);
x_29 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_3, x_27);
lean_dec(x_27);
if (x_29 == 0)
{
lean_object* x_30; 
lean_dec(x_28);
x_30 = lean_box(0);
return x_30;
}
else
{
lean_object* x_31; 
x_31 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_31, 0, x_28);
return x_31;
}
}
case 1:
{
lean_object* x_32; size_t x_33; 
x_32 = lean_ctor_get(x_26, 0);
lean_inc(x_32);
lean_dec_ref(x_26);
x_33 = lean_usize_shift_right(x_2, x_22);
x_1 = x_32;
x_2 = x_33;
goto _start;
}
default: 
{
lean_object* x_35; 
x_35 = lean_box(0);
return x_35;
}
}
}
}
else
{
lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; 
x_36 = lean_ctor_get(x_1, 0);
lean_inc_ref(x_36);
x_37 = lean_ctor_get(x_1, 1);
lean_inc_ref(x_37);
lean_dec_ref(x_1);
x_38 = lean_unsigned_to_nat(0u);
x_39 = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___redArg(x_36, x_37, x_38, x_3);
lean_dec_ref(x_37);
lean_dec_ref(x_36);
return x_39;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(lean_object* x_1, lean_object* x_2) {
_start:
{
uint64_t x_3; size_t x_4; lean_object* x_5; 
x_3 = l_Lean_Meta_Grind_hashPtrExpr_unsafe__1(x_2);
x_4 = lean_uint64_to_usize(x_3);
x_5 = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___redArg(x_1, x_4, x_2);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; 
x_4 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_2, x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; 
x_7 = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___redArg(x_2, x_3, x_5, x_6);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0(lean_object* x_1, lean_object* x_2, size_t x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; 
x_5 = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___redArg(x_2, x_3, x_4);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4; 
x_4 = !lean_is_exclusive(x_3);
if (x_4 == 0)
{
lean_object* x_5; lean_object* x_6; 
x_5 = lean_ctor_get(x_3, 1);
x_6 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(x_5, x_1, x_2);
lean_ctor_set(x_3, 1, x_6);
return x_3;
}
else
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; 
x_7 = lean_ctor_get(x_3, 0);
x_8 = lean_ctor_get(x_3, 1);
x_9 = lean_ctor_get(x_3, 2);
x_10 = lean_ctor_get(x_3, 3);
x_11 = lean_ctor_get(x_3, 4);
x_12 = lean_ctor_get(x_3, 5);
x_13 = lean_ctor_get(x_3, 6);
x_14 = lean_ctor_get(x_3, 7);
lean_inc(x_14);
lean_inc(x_13);
lean_inc(x_12);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_dec(x_3);
x_15 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(x_8, x_1, x_2);
x_16 = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(x_16, 0, x_7);
lean_ctor_set(x_16, 1, x_15);
lean_ctor_set(x_16, 2, x_9);
lean_ctor_set(x_16, 3, x_10);
lean_ctor_set(x_16, 4, x_11);
lean_ctor_set(x_16, 5, x_12);
lean_ctor_set(x_16, 6, x_13);
lean_ctor_set(x_16, 7, x_14);
return x_16;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; 
x_11 = l_Lean_Meta_Grind_getConfig___redArg(x_4);
if (lean_obj_tag(x_11) == 0)
{
uint8_t x_12; 
x_12 = !lean_is_exclusive(x_11);
if (x_12 == 0)
{
lean_object* x_13; uint8_t x_14; 
x_13 = lean_ctor_get(x_11, 0);
x_14 = lean_ctor_get_uint8(x_13, sizeof(void*)*10 + 20);
lean_dec(x_13);
if (x_14 == 0)
{
lean_object* x_15; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_15 = lean_box(0);
lean_ctor_set(x_11, 0, x_15);
return x_11;
}
else
{
lean_object* x_16; 
lean_free_object(x_11);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc_ref(x_1);
x_16 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_16) == 0)
{
uint8_t x_17; 
x_17 = !lean_is_exclusive(x_16);
if (x_17 == 0)
{
lean_object* x_18; uint8_t x_19; 
x_18 = lean_ctor_get(x_16, 0);
x_19 = lean_unbox(x_18);
lean_dec(x_18);
if (x_19 == 0)
{
lean_object* x_20; 
lean_free_object(x_16);
x_20 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_20) == 0)
{
uint8_t x_21; 
x_21 = !lean_is_exclusive(x_20);
if (x_21 == 0)
{
lean_object* x_22; lean_object* x_23; lean_object* x_24; 
x_22 = lean_ctor_get(x_20, 0);
x_23 = lean_ctor_get(x_22, 1);
lean_inc_ref(x_23);
lean_dec(x_22);
x_24 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_23, x_1);
if (lean_obj_tag(x_24) == 1)
{
lean_object* x_25; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_25 = lean_ctor_get(x_24, 0);
lean_inc(x_25);
lean_dec_ref(x_24);
lean_ctor_set(x_20, 0, x_25);
return x_20;
}
else
{
lean_object* x_26; 
lean_dec(x_24);
lean_free_object(x_20);
lean_inc(x_2);
lean_inc_ref(x_1);
x_26 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_26) == 0)
{
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; 
x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
lean_dec_ref(x_26);
lean_inc(x_27);
x_28 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_28, 0, x_1);
lean_closure_set(x_28, 1, x_27);
x_29 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_30 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_29, x_28, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_30) == 0)
{
uint8_t x_31; 
x_31 = !lean_is_exclusive(x_30);
if (x_31 == 0)
{
lean_object* x_32; 
x_32 = lean_ctor_get(x_30, 0);
lean_dec(x_32);
lean_ctor_set(x_30, 0, x_27);
return x_30;
}
else
{
lean_object* x_33; 
lean_dec(x_30);
x_33 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_33, 0, x_27);
return x_33;
}
}
else
{
uint8_t x_34; 
lean_dec(x_27);
x_34 = !lean_is_exclusive(x_30);
if (x_34 == 0)
{
return x_30;
}
else
{
lean_object* x_35; lean_object* x_36; 
x_35 = lean_ctor_get(x_30, 0);
lean_inc(x_35);
lean_dec(x_30);
x_36 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_36, 0, x_35);
return x_36;
}
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_26;
}
}
}
else
{
lean_object* x_37; lean_object* x_38; lean_object* x_39; 
x_37 = lean_ctor_get(x_20, 0);
lean_inc(x_37);
lean_dec(x_20);
x_38 = lean_ctor_get(x_37, 1);
lean_inc_ref(x_38);
lean_dec(x_37);
x_39 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_38, x_1);
if (lean_obj_tag(x_39) == 1)
{
lean_object* x_40; lean_object* x_41; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_40 = lean_ctor_get(x_39, 0);
lean_inc(x_40);
lean_dec_ref(x_39);
x_41 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_41, 0, x_40);
return x_41;
}
else
{
lean_object* x_42; 
lean_dec(x_39);
lean_inc(x_2);
lean_inc_ref(x_1);
x_42 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_42) == 0)
{
lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; 
x_43 = lean_ctor_get(x_42, 0);
lean_inc(x_43);
lean_dec_ref(x_42);
lean_inc(x_43);
x_44 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_44, 0, x_1);
lean_closure_set(x_44, 1, x_43);
x_45 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_46 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_45, x_44, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_46) == 0)
{
lean_object* x_47; lean_object* x_48; 
if (lean_is_exclusive(x_46)) {
 lean_ctor_release(x_46, 0);
 x_47 = x_46;
} else {
 lean_dec_ref(x_46);
 x_47 = lean_box(0);
}
if (lean_is_scalar(x_47)) {
 x_48 = lean_alloc_ctor(0, 1, 0);
} else {
 x_48 = x_47;
}
lean_ctor_set(x_48, 0, x_43);
return x_48;
}
else
{
lean_object* x_49; lean_object* x_50; lean_object* x_51; 
lean_dec(x_43);
x_49 = lean_ctor_get(x_46, 0);
lean_inc(x_49);
if (lean_is_exclusive(x_46)) {
 lean_ctor_release(x_46, 0);
 x_50 = x_46;
} else {
 lean_dec_ref(x_46);
 x_50 = lean_box(0);
}
if (lean_is_scalar(x_50)) {
 x_51 = lean_alloc_ctor(1, 1, 0);
} else {
 x_51 = x_50;
}
lean_ctor_set(x_51, 0, x_49);
return x_51;
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_42;
}
}
}
}
else
{
uint8_t x_52; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_52 = !lean_is_exclusive(x_20);
if (x_52 == 0)
{
return x_20;
}
else
{
lean_object* x_53; lean_object* x_54; 
x_53 = lean_ctor_get(x_20, 0);
lean_inc(x_53);
lean_dec(x_20);
x_54 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_54, 0, x_53);
return x_54;
}
}
}
else
{
lean_object* x_55; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_55 = lean_box(0);
lean_ctor_set(x_16, 0, x_55);
return x_16;
}
}
else
{
lean_object* x_56; uint8_t x_57; 
x_56 = lean_ctor_get(x_16, 0);
lean_inc(x_56);
lean_dec(x_16);
x_57 = lean_unbox(x_56);
lean_dec(x_56);
if (x_57 == 0)
{
lean_object* x_58; 
x_58 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_58) == 0)
{
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; 
x_59 = lean_ctor_get(x_58, 0);
lean_inc(x_59);
if (lean_is_exclusive(x_58)) {
 lean_ctor_release(x_58, 0);
 x_60 = x_58;
} else {
 lean_dec_ref(x_58);
 x_60 = lean_box(0);
}
x_61 = lean_ctor_get(x_59, 1);
lean_inc_ref(x_61);
lean_dec(x_59);
x_62 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_61, x_1);
if (lean_obj_tag(x_62) == 1)
{
lean_object* x_63; lean_object* x_64; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_63 = lean_ctor_get(x_62, 0);
lean_inc(x_63);
lean_dec_ref(x_62);
if (lean_is_scalar(x_60)) {
 x_64 = lean_alloc_ctor(0, 1, 0);
} else {
 x_64 = x_60;
}
lean_ctor_set(x_64, 0, x_63);
return x_64;
}
else
{
lean_object* x_65; 
lean_dec(x_62);
lean_dec(x_60);
lean_inc(x_2);
lean_inc_ref(x_1);
x_65 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_65) == 0)
{
lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; 
x_66 = lean_ctor_get(x_65, 0);
lean_inc(x_66);
lean_dec_ref(x_65);
lean_inc(x_66);
x_67 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_67, 0, x_1);
lean_closure_set(x_67, 1, x_66);
x_68 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_69 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_68, x_67, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_69) == 0)
{
lean_object* x_70; lean_object* x_71; 
if (lean_is_exclusive(x_69)) {
 lean_ctor_release(x_69, 0);
 x_70 = x_69;
} else {
 lean_dec_ref(x_69);
 x_70 = lean_box(0);
}
if (lean_is_scalar(x_70)) {
 x_71 = lean_alloc_ctor(0, 1, 0);
} else {
 x_71 = x_70;
}
lean_ctor_set(x_71, 0, x_66);
return x_71;
}
else
{
lean_object* x_72; lean_object* x_73; lean_object* x_74; 
lean_dec(x_66);
x_72 = lean_ctor_get(x_69, 0);
lean_inc(x_72);
if (lean_is_exclusive(x_69)) {
 lean_ctor_release(x_69, 0);
 x_73 = x_69;
} else {
 lean_dec_ref(x_69);
 x_73 = lean_box(0);
}
if (lean_is_scalar(x_73)) {
 x_74 = lean_alloc_ctor(1, 1, 0);
} else {
 x_74 = x_73;
}
lean_ctor_set(x_74, 0, x_72);
return x_74;
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_65;
}
}
}
else
{
lean_object* x_75; lean_object* x_76; lean_object* x_77; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_75 = lean_ctor_get(x_58, 0);
lean_inc(x_75);
if (lean_is_exclusive(x_58)) {
 lean_ctor_release(x_58, 0);
 x_76 = x_58;
} else {
 lean_dec_ref(x_58);
 x_76 = lean_box(0);
}
if (lean_is_scalar(x_76)) {
 x_77 = lean_alloc_ctor(1, 1, 0);
} else {
 x_77 = x_76;
}
lean_ctor_set(x_77, 0, x_75);
return x_77;
}
}
else
{
lean_object* x_78; lean_object* x_79; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_78 = lean_box(0);
x_79 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_79, 0, x_78);
return x_79;
}
}
}
else
{
uint8_t x_80; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_80 = !lean_is_exclusive(x_16);
if (x_80 == 0)
{
return x_16;
}
else
{
lean_object* x_81; lean_object* x_82; 
x_81 = lean_ctor_get(x_16, 0);
lean_inc(x_81);
lean_dec(x_16);
x_82 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_82, 0, x_81);
return x_82;
}
}
}
}
else
{
lean_object* x_83; uint8_t x_84; 
x_83 = lean_ctor_get(x_11, 0);
lean_inc(x_83);
lean_dec(x_11);
x_84 = lean_ctor_get_uint8(x_83, sizeof(void*)*10 + 20);
lean_dec(x_83);
if (x_84 == 0)
{
lean_object* x_85; lean_object* x_86; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_85 = lean_box(0);
x_86 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_86, 0, x_85);
return x_86;
}
else
{
lean_object* x_87; 
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc_ref(x_1);
x_87 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_87) == 0)
{
lean_object* x_88; lean_object* x_89; uint8_t x_90; 
x_88 = lean_ctor_get(x_87, 0);
lean_inc(x_88);
if (lean_is_exclusive(x_87)) {
 lean_ctor_release(x_87, 0);
 x_89 = x_87;
} else {
 lean_dec_ref(x_87);
 x_89 = lean_box(0);
}
x_90 = lean_unbox(x_88);
lean_dec(x_88);
if (x_90 == 0)
{
lean_object* x_91; 
lean_dec(x_89);
x_91 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_91) == 0)
{
lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; 
x_92 = lean_ctor_get(x_91, 0);
lean_inc(x_92);
if (lean_is_exclusive(x_91)) {
 lean_ctor_release(x_91, 0);
 x_93 = x_91;
} else {
 lean_dec_ref(x_91);
 x_93 = lean_box(0);
}
x_94 = lean_ctor_get(x_92, 1);
lean_inc_ref(x_94);
lean_dec(x_92);
x_95 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_94, x_1);
if (lean_obj_tag(x_95) == 1)
{
lean_object* x_96; lean_object* x_97; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_96 = lean_ctor_get(x_95, 0);
lean_inc(x_96);
lean_dec_ref(x_95);
if (lean_is_scalar(x_93)) {
 x_97 = lean_alloc_ctor(0, 1, 0);
} else {
 x_97 = x_93;
}
lean_ctor_set(x_97, 0, x_96);
return x_97;
}
else
{
lean_object* x_98; 
lean_dec(x_95);
lean_dec(x_93);
lean_inc(x_2);
lean_inc_ref(x_1);
x_98 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_98) == 0)
{
lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; 
x_99 = lean_ctor_get(x_98, 0);
lean_inc(x_99);
lean_dec_ref(x_98);
lean_inc(x_99);
x_100 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_100, 0, x_1);
lean_closure_set(x_100, 1, x_99);
x_101 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_102 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_101, x_100, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_102) == 0)
{
lean_object* x_103; lean_object* x_104; 
if (lean_is_exclusive(x_102)) {
 lean_ctor_release(x_102, 0);
 x_103 = x_102;
} else {
 lean_dec_ref(x_102);
 x_103 = lean_box(0);
}
if (lean_is_scalar(x_103)) {
 x_104 = lean_alloc_ctor(0, 1, 0);
} else {
 x_104 = x_103;
}
lean_ctor_set(x_104, 0, x_99);
return x_104;
}
else
{
lean_object* x_105; lean_object* x_106; lean_object* x_107; 
lean_dec(x_99);
x_105 = lean_ctor_get(x_102, 0);
lean_inc(x_105);
if (lean_is_exclusive(x_102)) {
 lean_ctor_release(x_102, 0);
 x_106 = x_102;
} else {
 lean_dec_ref(x_102);
 x_106 = lean_box(0);
}
if (lean_is_scalar(x_106)) {
 x_107 = lean_alloc_ctor(1, 1, 0);
} else {
 x_107 = x_106;
}
lean_ctor_set(x_107, 0, x_105);
return x_107;
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_98;
}
}
}
else
{
lean_object* x_108; lean_object* x_109; lean_object* x_110; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_108 = lean_ctor_get(x_91, 0);
lean_inc(x_108);
if (lean_is_exclusive(x_91)) {
 lean_ctor_release(x_91, 0);
 x_109 = x_91;
} else {
 lean_dec_ref(x_91);
 x_109 = lean_box(0);
}
if (lean_is_scalar(x_109)) {
 x_110 = lean_alloc_ctor(1, 1, 0);
} else {
 x_110 = x_109;
}
lean_ctor_set(x_110, 0, x_108);
return x_110;
}
}
else
{
lean_object* x_111; lean_object* x_112; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_111 = lean_box(0);
if (lean_is_scalar(x_89)) {
 x_112 = lean_alloc_ctor(0, 1, 0);
} else {
 x_112 = x_89;
}
lean_ctor_set(x_112, 0, x_111);
return x_112;
}
}
else
{
lean_object* x_113; lean_object* x_114; lean_object* x_115; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_113 = lean_ctor_get(x_87, 0);
lean_inc(x_113);
if (lean_is_exclusive(x_87)) {
 lean_ctor_release(x_87, 0);
 x_114 = x_87;
} else {
 lean_dec_ref(x_87);
 x_114 = lean_box(0);
}
if (lean_is_scalar(x_114)) {
 x_115 = lean_alloc_ctor(1, 1, 0);
} else {
 x_115 = x_114;
}
lean_ctor_set(x_115, 0, x_113);
return x_115;
}
}
}
}
else
{
uint8_t x_116; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_116 = !lean_is_exclusive(x_11);
if (x_116 == 0)
{
return x_11;
}
else
{
lean_object* x_117; lean_object* x_118; 
x_117 = lean_ctor_get(x_11, 0);
lean_inc(x_117);
lean_dec(x_11);
x_118 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_118, 0, x_117);
return x_118;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; 
x_4 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0(x_1, x_2, x_3);
lean_dec_ref(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; 
x_7 = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec_ref(x_6);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; lean_object* x_6; 
x_5 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_6 = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0(x_1, x_2, x_5, x_4);
lean_dec_ref(x_4);
return x_6;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; 
x_3 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_1, x_2);
lean_dec_ref(x_2);
return x_3;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5; 
x_5 = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0_spec__0___redArg(x_1, x_2, x_3, x_4);
lean_dec_ref(x_4);
lean_dec_ref(x_2);
lean_dec_ref(x_1);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
size_t x_4; lean_object* x_5; 
x_4 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_5 = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0_spec__0___redArg(x_1, x_4, x_3);
lean_dec_ref(x_3);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; 
x_8 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__1;
x_9 = lean_box(0);
x_10 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_10, 0, x_1);
lean_ctor_set(x_10, 1, x_9);
x_11 = l_Lean_mkConst(x_8, x_10);
x_12 = l_Lean_Expr_app___override(x_11, x_2);
x_13 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_12, x_3, x_4, x_5, x_6);
return x_13;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___redArg(x_1, x_2, x_7, x_8, x_9, x_10);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
_start:
{
lean_object* x_8; 
x_8 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___redArg(x_1, x_2, x_3, x_4, x_5, x_6);
return x_8;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
lean_object* x_7; lean_object* x_8; uint8_t x_9; 
x_7 = lean_ctor_get(x_4, 5);
x_8 = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_ensureDefEq_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5);
x_9 = !lean_is_exclusive(x_8);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11; 
x_10 = lean_ctor_get(x_8, 0);
lean_inc(x_7);
x_11 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_11, 0, x_7);
lean_ctor_set(x_11, 1, x_10);
lean_ctor_set_tag(x_8, 1);
lean_ctor_set(x_8, 0, x_11);
return x_8;
}
else
{
lean_object* x_12; lean_object* x_13; lean_object* x_14; 
x_12 = lean_ctor_get(x_8, 0);
lean_inc(x_12);
lean_dec(x_8);
lean_inc(x_7);
x_13 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_13, 0, x_7);
lean_ctor_set(x_13, 1, x_12);
x_14 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_14, 0, x_13);
return x_14;
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_12; 
x_12 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___redArg(x_2, x_7, x_8, x_9, x_10);
return x_12;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___lam__0(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; 
x_3 = !lean_is_exclusive(x_2);
if (x_3 == 0)
{
lean_object* x_4; lean_object* x_5; 
x_4 = lean_ctor_get(x_2, 5);
x_5 = lean_array_push(x_4, x_1);
lean_ctor_set(x_2, 5, x_5);
return x_2;
}
else
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; 
x_6 = lean_ctor_get(x_2, 0);
x_7 = lean_ctor_get(x_2, 1);
x_8 = lean_ctor_get(x_2, 2);
x_9 = lean_ctor_get(x_2, 3);
x_10 = lean_ctor_get(x_2, 4);
x_11 = lean_ctor_get(x_2, 5);
x_12 = lean_ctor_get(x_2, 6);
x_13 = lean_ctor_get(x_2, 7);
lean_inc(x_13);
lean_inc(x_12);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_dec(x_2);
x_14 = lean_array_push(x_11, x_1);
x_15 = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(x_15, 0, x_6);
lean_ctor_set(x_15, 1, x_7);
lean_ctor_set(x_15, 2, x_8);
lean_ctor_set(x_15, 3, x_9);
lean_ctor_set(x_15, 4, x_10);
lean_ctor_set(x_15, 5, x_14);
lean_ctor_set(x_15, 6, x_12);
lean_ctor_set(x_15, 7, x_13);
return x_15;
}
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__0() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("OfNatModule", 11, 11);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__1() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Q", 1, 1);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__2() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__1;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__0;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2;
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_5 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_6 = l_Lean_Name_mkStr5(x_5, x_4, x_3, x_2, x_1);
return x_6;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__3() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Add", 3, 3);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__4() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__3;
x_2 = l_Lean_Name_mkStr1(x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__5() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("AddRightCancel", 14, 14);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__6() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__5;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_4 = l_Lean_Name_mkStr3(x_3, x_2, x_1);
return x_4;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__7() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("toQ", 3, 3);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__8() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__7;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__0;
x_3 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2;
x_4 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1;
x_5 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0;
x_6 = l_Lean_Name_mkStr5(x_5, x_4, x_3, x_2, x_1);
return x_6;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__9() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("Eq", 2, 2);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__10() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("refl", 4, 4);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__11() {
_start:
{
lean_object* x_1; lean_object* x_2; lean_object* x_3; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__10;
x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__9;
x_3 = l_Lean_Name_mkStr2(x_2, x_1);
return x_3;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__12() {
_start:
{
lean_object* x_1; 
x_1 = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__13() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__12;
x_2 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_2, 0, x_1);
return x_2;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__14() {
_start:
{
lean_object* x_1; 
x_1 = lean_mk_string_unchecked("`grind` unexpected failure, failure to initialize auxiliary `IntModule`", 71, 71);
return x_1;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__15() {
_start:
{
lean_object* x_1; lean_object* x_2; 
x_1 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__14;
x_2 = l_Lean_stringToMessageData(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; 
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
x_11 = l_Lean_Meta_getDecLevel(x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12; lean_object* x_13; 
x_12 = lean_ctor_get(x_11, 0);
lean_inc(x_12);
lean_dec_ref(x_11);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_12);
x_13 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNatModuleInst_x3f___redArg(x_12, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_13) == 0)
{
uint8_t x_14; 
x_14 = !lean_is_exclusive(x_13);
if (x_14 == 0)
{
lean_object* x_15; 
x_15 = lean_ctor_get(x_13, 0);
if (lean_obj_tag(x_15) == 1)
{
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; 
lean_free_object(x_13);
x_16 = lean_ctor_get(x_15, 0);
lean_inc(x_16);
lean_dec_ref(x_15);
x_17 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__2;
x_18 = lean_box(0);
lean_inc(x_12);
x_19 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_19, 0, x_12);
lean_ctor_set(x_19, 1, x_18);
lean_inc_ref(x_19);
x_20 = l_Lean_mkConst(x_17, x_19);
lean_inc(x_16);
lean_inc_ref(x_1);
x_21 = l_Lean_mkAppB(x_20, x_1, x_16);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_22 = lean_grind_canon(x_21, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_22) == 0)
{
lean_object* x_23; lean_object* x_24; 
x_23 = lean_ctor_get(x_22, 0);
lean_inc(x_23);
lean_dec_ref(x_22);
x_24 = l_Lean_Meta_Grind_shareCommon___redArg(x_23, x_5);
if (lean_obj_tag(x_24) == 0)
{
lean_object* x_25; lean_object* x_26; 
x_25 = lean_ctor_get(x_24, 0);
lean_inc(x_25);
lean_dec_ref(x_24);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_25);
x_26 = l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f(x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_26) == 0)
{
lean_object* x_27; 
x_27 = lean_ctor_get(x_26, 0);
lean_inc(x_27);
lean_dec_ref(x_26);
if (lean_obj_tag(x_27) == 1)
{
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; 
x_28 = lean_ctor_get(x_27, 0);
lean_inc(x_28);
if (lean_is_exclusive(x_27)) {
 lean_ctor_release(x_27, 0);
 x_29 = x_27;
} else {
 lean_dec_ref(x_27);
 x_29 = lean_box(0);
}
x_30 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_12);
x_31 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_30, x_12, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_31) == 0)
{
lean_object* x_32; lean_object* x_33; lean_object* x_34; 
x_32 = lean_ctor_get(x_31, 0);
lean_inc(x_32);
lean_dec_ref(x_31);
x_33 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_12);
x_34 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_33, x_12, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_34) == 0)
{
lean_object* x_35; lean_object* x_36; 
x_35 = lean_ctor_get(x_34, 0);
lean_inc(x_35);
lean_dec_ref(x_34);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_32);
lean_inc_ref(x_1);
lean_inc(x_12);
x_36 = l_Lean_Meta_Grind_mkIsPreorderInst_x3f___redArg(x_12, x_1, x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_36) == 0)
{
lean_object* x_37; lean_object* x_38; 
x_37 = lean_ctor_get(x_36, 0);
lean_inc(x_37);
lean_dec_ref(x_36);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_32);
lean_inc(x_35);
lean_inc_ref(x_1);
lean_inc(x_12);
x_38 = l_Lean_Meta_Grind_mkLawfulOrderLTInst_x3f___redArg(x_12, x_1, x_35, x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_38) == 0)
{
lean_object* x_39; lean_object* x_40; 
x_39 = lean_ctor_get(x_38, 0);
lean_inc(x_39);
lean_dec_ref(x_38);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_32);
lean_inc_ref(x_1);
lean_inc(x_12);
x_40 = l_Lean_Meta_Grind_mkIsLinearOrderInst_x3f___redArg(x_12, x_1, x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_40) == 0)
{
lean_object* x_41; lean_object* x_42; lean_object* x_43; 
x_41 = lean_ctor_get(x_40, 0);
lean_inc(x_41);
lean_dec_ref(x_40);
x_42 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_12);
x_43 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_42, x_12, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_43) == 0)
{
lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; 
x_44 = lean_ctor_get(x_43, 0);
lean_inc(x_44);
lean_dec_ref(x_43);
x_45 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65;
lean_inc_ref(x_19);
lean_inc(x_12);
x_46 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_46, 0, x_12);
lean_ctor_set(x_46, 1, x_19);
lean_inc_ref(x_46);
lean_inc(x_12);
x_47 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_47, 0, x_12);
lean_ctor_set(x_47, 1, x_46);
x_48 = l_Lean_mkConst(x_45, x_47);
lean_inc(x_44);
lean_inc_ref_n(x_1, 3);
x_49 = l_Lean_mkApp4(x_48, x_1, x_1, x_1, x_44);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_50 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_49, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_50) == 0)
{
lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; 
x_51 = lean_ctor_get(x_50, 0);
lean_inc(x_51);
lean_dec_ref(x_50);
if (lean_obj_tag(x_32) == 1)
{
if (lean_obj_tag(x_37) == 1)
{
lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; 
x_152 = lean_ctor_get(x_32, 0);
x_153 = lean_ctor_get(x_37, 0);
x_154 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67;
lean_inc_ref(x_19);
x_155 = l_Lean_mkConst(x_154, x_19);
lean_inc(x_153);
lean_inc(x_152);
lean_inc_ref(x_1);
x_156 = l_Lean_mkApp4(x_155, x_1, x_44, x_152, x_153);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
x_157 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_156, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_157) == 0)
{
lean_object* x_158; 
x_158 = lean_ctor_get(x_157, 0);
lean_inc(x_158);
lean_dec_ref(x_157);
x_52 = x_158;
x_53 = x_2;
x_54 = x_3;
x_55 = x_4;
x_56 = x_5;
x_57 = x_6;
x_58 = x_7;
x_59 = x_8;
x_60 = x_9;
x_61 = lean_box(0);
goto block_141;
}
else
{
uint8_t x_159; 
lean_dec(x_51);
lean_dec_ref(x_46);
lean_dec(x_41);
lean_dec(x_39);
lean_dec_ref(x_37);
lean_dec(x_35);
lean_dec_ref(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_159 = !lean_is_exclusive(x_157);
if (x_159 == 0)
{
return x_157;
}
else
{
lean_object* x_160; lean_object* x_161; 
x_160 = lean_ctor_get(x_157, 0);
lean_inc(x_160);
lean_dec(x_157);
x_161 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_161, 0, x_160);
return x_161;
}
}
}
else
{
lean_dec(x_44);
x_142 = x_2;
x_143 = x_3;
x_144 = x_4;
x_145 = x_5;
x_146 = x_6;
x_147 = x_7;
x_148 = x_8;
x_149 = x_9;
goto block_151;
}
}
else
{
lean_dec(x_44);
x_142 = x_2;
x_143 = x_3;
x_144 = x_4;
x_145 = x_5;
x_146 = x_6;
x_147 = x_7;
x_148 = x_8;
x_149 = x_9;
goto block_151;
}
block_141:
{
lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; 
x_62 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__4;
lean_inc_ref(x_19);
x_63 = l_Lean_mkConst(x_62, x_19);
lean_inc_ref(x_1);
x_64 = l_Lean_Expr_app___override(x_63, x_1);
lean_inc(x_60);
lean_inc_ref(x_59);
lean_inc(x_58);
lean_inc_ref(x_57);
x_65 = l_Lean_Meta_Grind_synthInstance(x_64, x_53, x_54, x_55, x_56, x_57, x_58, x_59, x_60);
if (lean_obj_tag(x_65) == 0)
{
lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; 
x_66 = lean_ctor_get(x_65, 0);
lean_inc(x_66);
lean_dec_ref(x_65);
x_67 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__6;
lean_inc_ref(x_19);
x_68 = l_Lean_mkConst(x_67, x_19);
lean_inc_ref(x_1);
x_69 = l_Lean_mkAppB(x_68, x_1, x_66);
lean_inc(x_60);
lean_inc_ref(x_59);
lean_inc(x_58);
lean_inc_ref(x_57);
x_70 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_69, x_57, x_58, x_59, x_60);
if (lean_obj_tag(x_70) == 0)
{
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; 
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
lean_dec_ref(x_70);
x_72 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__8;
lean_inc_ref(x_19);
x_73 = l_Lean_mkConst(x_72, x_19);
lean_inc(x_16);
lean_inc_ref(x_1);
x_74 = l_Lean_mkAppB(x_73, x_1, x_16);
lean_inc(x_60);
lean_inc_ref(x_59);
lean_inc(x_58);
lean_inc_ref(x_57);
lean_inc(x_56);
lean_inc_ref(x_55);
lean_inc(x_54);
lean_inc(x_53);
x_75 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_74, x_53, x_54, x_55, x_56, x_57, x_58, x_59, x_60);
if (lean_obj_tag(x_75) == 0)
{
lean_object* x_76; lean_object* x_77; lean_object* x_78; 
x_76 = lean_ctor_get(x_75, 0);
lean_inc(x_76);
lean_dec_ref(x_75);
x_77 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15;
lean_inc(x_60);
lean_inc_ref(x_59);
lean_inc(x_58);
lean_inc_ref(x_57);
lean_inc_ref(x_1);
lean_inc(x_12);
x_78 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_77, x_12, x_1, x_53, x_54, x_55, x_56, x_57, x_58, x_59, x_60);
if (lean_obj_tag(x_78) == 0)
{
lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; 
x_79 = lean_ctor_get(x_78, 0);
lean_inc(x_79);
lean_dec_ref(x_78);
x_80 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17;
x_81 = l_Lean_mkConst(x_80, x_19);
lean_inc_ref(x_1);
x_82 = l_Lean_mkAppB(x_81, x_1, x_79);
lean_inc(x_60);
lean_inc_ref(x_59);
lean_inc(x_58);
lean_inc_ref(x_57);
lean_inc(x_56);
lean_inc_ref(x_55);
lean_inc(x_54);
lean_inc(x_53);
x_83 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(x_82, x_53, x_54, x_55, x_56, x_57, x_58, x_59, x_60);
if (lean_obj_tag(x_83) == 0)
{
lean_object* x_84; lean_object* x_85; 
x_84 = lean_ctor_get(x_83, 0);
lean_inc(x_84);
lean_dec_ref(x_83);
lean_inc(x_60);
lean_inc_ref(x_59);
lean_inc(x_58);
lean_inc_ref(x_57);
lean_inc_ref(x_1);
lean_inc(x_12);
x_85 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(x_12, x_1, x_53, x_54, x_55, x_56, x_57, x_58, x_59, x_60);
if (lean_obj_tag(x_85) == 0)
{
lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; 
x_86 = lean_ctor_get(x_85, 0);
lean_inc(x_86);
lean_dec_ref(x_85);
x_87 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_88 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_89 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_89, 0, x_88);
lean_ctor_set(x_89, 1, x_46);
x_90 = l_Lean_mkConst(x_87, x_89);
x_91 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
lean_inc_ref_n(x_1, 2);
x_92 = l_Lean_mkApp4(x_90, x_91, x_1, x_1, x_86);
lean_inc_ref(x_59);
lean_inc(x_53);
x_93 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_92, x_53, x_54, x_55, x_56, x_57, x_58, x_59, x_60);
if (lean_obj_tag(x_93) == 0)
{
lean_object* x_94; lean_object* x_95; 
x_94 = lean_ctor_get(x_93, 0);
lean_inc(x_94);
lean_dec_ref(x_93);
x_95 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_53, x_59);
lean_dec_ref(x_59);
if (lean_obj_tag(x_95) == 0)
{
lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; 
x_96 = lean_ctor_get(x_95, 0);
lean_inc(x_96);
lean_dec_ref(x_95);
x_97 = lean_ctor_get(x_96, 5);
lean_inc_ref(x_97);
lean_dec(x_96);
x_98 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__11;
lean_inc(x_12);
x_99 = l_Lean_Level_succ___override(x_12);
x_100 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_100, 0, x_99);
lean_ctor_set(x_100, 1, x_18);
x_101 = l_Lean_mkConst(x_98, x_100);
x_102 = l_Lean_Expr_app___override(x_101, x_25);
x_103 = lean_array_get_size(x_97);
lean_dec_ref(x_97);
x_104 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__13;
lean_inc(x_103);
x_105 = lean_alloc_ctor(0, 18, 0);
lean_ctor_set(x_105, 0, x_103);
lean_ctor_set(x_105, 1, x_28);
lean_ctor_set(x_105, 2, x_1);
lean_ctor_set(x_105, 3, x_12);
lean_ctor_set(x_105, 4, x_16);
lean_ctor_set(x_105, 5, x_32);
lean_ctor_set(x_105, 6, x_35);
lean_ctor_set(x_105, 7, x_39);
lean_ctor_set(x_105, 8, x_37);
lean_ctor_set(x_105, 9, x_52);
lean_ctor_set(x_105, 10, x_41);
lean_ctor_set(x_105, 11, x_71);
lean_ctor_set(x_105, 12, x_102);
lean_ctor_set(x_105, 13, x_84);
lean_ctor_set(x_105, 14, x_76);
lean_ctor_set(x_105, 15, x_51);
lean_ctor_set(x_105, 16, x_94);
lean_ctor_set(x_105, 17, x_104);
x_106 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___lam__0), 2, 1);
lean_closure_set(x_106, 0, x_105);
x_107 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_108 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_107, x_106, x_53);
lean_dec(x_53);
if (lean_obj_tag(x_108) == 0)
{
uint8_t x_109; 
x_109 = !lean_is_exclusive(x_108);
if (x_109 == 0)
{
lean_object* x_110; lean_object* x_111; 
x_110 = lean_ctor_get(x_108, 0);
lean_dec(x_110);
if (lean_is_scalar(x_29)) {
 x_111 = lean_alloc_ctor(1, 1, 0);
} else {
 x_111 = x_29;
}
lean_ctor_set(x_111, 0, x_103);
lean_ctor_set(x_108, 0, x_111);
return x_108;
}
else
{
lean_object* x_112; lean_object* x_113; 
lean_dec(x_108);
if (lean_is_scalar(x_29)) {
 x_112 = lean_alloc_ctor(1, 1, 0);
} else {
 x_112 = x_29;
}
lean_ctor_set(x_112, 0, x_103);
x_113 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_113, 0, x_112);
return x_113;
}
}
else
{
uint8_t x_114; 
lean_dec(x_103);
lean_dec(x_29);
x_114 = !lean_is_exclusive(x_108);
if (x_114 == 0)
{
return x_108;
}
else
{
lean_object* x_115; lean_object* x_116; 
x_115 = lean_ctor_get(x_108, 0);
lean_inc(x_115);
lean_dec(x_108);
x_116 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_116, 0, x_115);
return x_116;
}
}
}
else
{
uint8_t x_117; 
lean_dec(x_94);
lean_dec(x_84);
lean_dec(x_76);
lean_dec(x_71);
lean_dec(x_53);
lean_dec(x_52);
lean_dec(x_51);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec(x_16);
lean_dec(x_12);
lean_dec_ref(x_1);
x_117 = !lean_is_exclusive(x_95);
if (x_117 == 0)
{
return x_95;
}
else
{
lean_object* x_118; lean_object* x_119; 
x_118 = lean_ctor_get(x_95, 0);
lean_inc(x_118);
lean_dec(x_95);
x_119 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_119, 0, x_118);
return x_119;
}
}
}
else
{
uint8_t x_120; 
lean_dec(x_84);
lean_dec(x_76);
lean_dec(x_71);
lean_dec_ref(x_59);
lean_dec(x_53);
lean_dec(x_52);
lean_dec(x_51);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec(x_16);
lean_dec(x_12);
lean_dec_ref(x_1);
x_120 = !lean_is_exclusive(x_93);
if (x_120 == 0)
{
return x_93;
}
else
{
lean_object* x_121; lean_object* x_122; 
x_121 = lean_ctor_get(x_93, 0);
lean_inc(x_121);
lean_dec(x_93);
x_122 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_122, 0, x_121);
return x_122;
}
}
}
else
{
uint8_t x_123; 
lean_dec(x_84);
lean_dec(x_76);
lean_dec(x_71);
lean_dec(x_60);
lean_dec_ref(x_59);
lean_dec(x_58);
lean_dec_ref(x_57);
lean_dec(x_56);
lean_dec_ref(x_55);
lean_dec(x_54);
lean_dec(x_53);
lean_dec(x_52);
lean_dec(x_51);
lean_dec_ref(x_46);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec(x_16);
lean_dec(x_12);
lean_dec_ref(x_1);
x_123 = !lean_is_exclusive(x_85);
if (x_123 == 0)
{
return x_85;
}
else
{
lean_object* x_124; lean_object* x_125; 
x_124 = lean_ctor_get(x_85, 0);
lean_inc(x_124);
lean_dec(x_85);
x_125 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_125, 0, x_124);
return x_125;
}
}
}
else
{
uint8_t x_126; 
lean_dec(x_76);
lean_dec(x_71);
lean_dec(x_60);
lean_dec_ref(x_59);
lean_dec(x_58);
lean_dec_ref(x_57);
lean_dec(x_56);
lean_dec_ref(x_55);
lean_dec(x_54);
lean_dec(x_53);
lean_dec(x_52);
lean_dec(x_51);
lean_dec_ref(x_46);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec(x_16);
lean_dec(x_12);
lean_dec_ref(x_1);
x_126 = !lean_is_exclusive(x_83);
if (x_126 == 0)
{
return x_83;
}
else
{
lean_object* x_127; lean_object* x_128; 
x_127 = lean_ctor_get(x_83, 0);
lean_inc(x_127);
lean_dec(x_83);
x_128 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_128, 0, x_127);
return x_128;
}
}
}
else
{
uint8_t x_129; 
lean_dec(x_76);
lean_dec(x_71);
lean_dec(x_60);
lean_dec_ref(x_59);
lean_dec(x_58);
lean_dec_ref(x_57);
lean_dec(x_56);
lean_dec_ref(x_55);
lean_dec(x_54);
lean_dec(x_53);
lean_dec(x_52);
lean_dec(x_51);
lean_dec_ref(x_46);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec_ref(x_1);
x_129 = !lean_is_exclusive(x_78);
if (x_129 == 0)
{
return x_78;
}
else
{
lean_object* x_130; lean_object* x_131; 
x_130 = lean_ctor_get(x_78, 0);
lean_inc(x_130);
lean_dec(x_78);
x_131 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_131, 0, x_130);
return x_131;
}
}
}
else
{
uint8_t x_132; 
lean_dec(x_71);
lean_dec(x_60);
lean_dec_ref(x_59);
lean_dec(x_58);
lean_dec_ref(x_57);
lean_dec(x_56);
lean_dec_ref(x_55);
lean_dec(x_54);
lean_dec(x_53);
lean_dec(x_52);
lean_dec(x_51);
lean_dec_ref(x_46);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec_ref(x_1);
x_132 = !lean_is_exclusive(x_75);
if (x_132 == 0)
{
return x_75;
}
else
{
lean_object* x_133; lean_object* x_134; 
x_133 = lean_ctor_get(x_75, 0);
lean_inc(x_133);
lean_dec(x_75);
x_134 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_134, 0, x_133);
return x_134;
}
}
}
else
{
uint8_t x_135; 
lean_dec(x_60);
lean_dec_ref(x_59);
lean_dec(x_58);
lean_dec_ref(x_57);
lean_dec(x_56);
lean_dec_ref(x_55);
lean_dec(x_54);
lean_dec(x_53);
lean_dec(x_52);
lean_dec(x_51);
lean_dec_ref(x_46);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec_ref(x_1);
x_135 = !lean_is_exclusive(x_70);
if (x_135 == 0)
{
return x_70;
}
else
{
lean_object* x_136; lean_object* x_137; 
x_136 = lean_ctor_get(x_70, 0);
lean_inc(x_136);
lean_dec(x_70);
x_137 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_137, 0, x_136);
return x_137;
}
}
}
else
{
uint8_t x_138; 
lean_dec(x_60);
lean_dec_ref(x_59);
lean_dec(x_58);
lean_dec_ref(x_57);
lean_dec(x_56);
lean_dec_ref(x_55);
lean_dec(x_54);
lean_dec(x_53);
lean_dec(x_52);
lean_dec(x_51);
lean_dec_ref(x_46);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec_ref(x_1);
x_138 = !lean_is_exclusive(x_65);
if (x_138 == 0)
{
return x_65;
}
else
{
lean_object* x_139; lean_object* x_140; 
x_139 = lean_ctor_get(x_65, 0);
lean_inc(x_139);
lean_dec(x_65);
x_140 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_140, 0, x_139);
return x_140;
}
}
}
block_151:
{
lean_object* x_150; 
x_150 = lean_box(0);
x_52 = x_150;
x_53 = x_142;
x_54 = x_143;
x_55 = x_144;
x_56 = x_145;
x_57 = x_146;
x_58 = x_147;
x_59 = x_148;
x_60 = x_149;
x_61 = lean_box(0);
goto block_141;
}
}
else
{
uint8_t x_162; 
lean_dec_ref(x_46);
lean_dec(x_44);
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_162 = !lean_is_exclusive(x_50);
if (x_162 == 0)
{
return x_50;
}
else
{
lean_object* x_163; lean_object* x_164; 
x_163 = lean_ctor_get(x_50, 0);
lean_inc(x_163);
lean_dec(x_50);
x_164 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_164, 0, x_163);
return x_164;
}
}
}
else
{
uint8_t x_165; 
lean_dec(x_41);
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_165 = !lean_is_exclusive(x_43);
if (x_165 == 0)
{
return x_43;
}
else
{
lean_object* x_166; lean_object* x_167; 
x_166 = lean_ctor_get(x_43, 0);
lean_inc(x_166);
lean_dec(x_43);
x_167 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_167, 0, x_166);
return x_167;
}
}
}
else
{
uint8_t x_168; 
lean_dec(x_39);
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_168 = !lean_is_exclusive(x_40);
if (x_168 == 0)
{
return x_40;
}
else
{
lean_object* x_169; lean_object* x_170; 
x_169 = lean_ctor_get(x_40, 0);
lean_inc(x_169);
lean_dec(x_40);
x_170 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_170, 0, x_169);
return x_170;
}
}
}
else
{
uint8_t x_171; 
lean_dec(x_37);
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_171 = !lean_is_exclusive(x_38);
if (x_171 == 0)
{
return x_38;
}
else
{
lean_object* x_172; lean_object* x_173; 
x_172 = lean_ctor_get(x_38, 0);
lean_inc(x_172);
lean_dec(x_38);
x_173 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_173, 0, x_172);
return x_173;
}
}
}
else
{
uint8_t x_174; 
lean_dec(x_35);
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_174 = !lean_is_exclusive(x_36);
if (x_174 == 0)
{
return x_36;
}
else
{
lean_object* x_175; lean_object* x_176; 
x_175 = lean_ctor_get(x_36, 0);
lean_inc(x_175);
lean_dec(x_36);
x_176 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_176, 0, x_175);
return x_176;
}
}
}
else
{
uint8_t x_177; 
lean_dec(x_32);
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_177 = !lean_is_exclusive(x_34);
if (x_177 == 0)
{
return x_34;
}
else
{
lean_object* x_178; lean_object* x_179; 
x_178 = lean_ctor_get(x_34, 0);
lean_inc(x_178);
lean_dec(x_34);
x_179 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_179, 0, x_178);
return x_179;
}
}
}
else
{
uint8_t x_180; 
lean_dec(x_29);
lean_dec(x_28);
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_180 = !lean_is_exclusive(x_31);
if (x_180 == 0)
{
return x_31;
}
else
{
lean_object* x_181; lean_object* x_182; 
x_181 = lean_ctor_get(x_31, 0);
lean_inc(x_181);
lean_dec(x_31);
x_182 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_182, 0, x_181);
return x_182;
}
}
}
else
{
lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; 
lean_dec(x_27);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_183 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__15;
x_184 = l_Lean_indentExpr(x_25);
x_185 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_185, 0, x_183);
lean_ctor_set(x_185, 1, x_184);
x_186 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___redArg(x_185, x_6, x_7, x_8, x_9);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
return x_186;
}
}
else
{
lean_dec(x_25);
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
return x_26;
}
}
else
{
uint8_t x_187; 
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_187 = !lean_is_exclusive(x_24);
if (x_187 == 0)
{
return x_24;
}
else
{
lean_object* x_188; lean_object* x_189; 
x_188 = lean_ctor_get(x_24, 0);
lean_inc(x_188);
lean_dec(x_24);
x_189 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_189, 0, x_188);
return x_189;
}
}
}
else
{
uint8_t x_190; 
lean_dec_ref(x_19);
lean_dec(x_16);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_190 = !lean_is_exclusive(x_22);
if (x_190 == 0)
{
return x_22;
}
else
{
lean_object* x_191; lean_object* x_192; 
x_191 = lean_ctor_get(x_22, 0);
lean_inc(x_191);
lean_dec(x_22);
x_192 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_192, 0, x_191);
return x_192;
}
}
}
else
{
lean_object* x_193; 
lean_dec(x_15);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_193 = lean_box(0);
lean_ctor_set(x_13, 0, x_193);
return x_13;
}
}
else
{
lean_object* x_194; 
x_194 = lean_ctor_get(x_13, 0);
lean_inc(x_194);
lean_dec(x_13);
if (lean_obj_tag(x_194) == 1)
{
lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; 
x_195 = lean_ctor_get(x_194, 0);
lean_inc(x_195);
lean_dec_ref(x_194);
x_196 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__2;
x_197 = lean_box(0);
lean_inc(x_12);
x_198 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_198, 0, x_12);
lean_ctor_set(x_198, 1, x_197);
lean_inc_ref(x_198);
x_199 = l_Lean_mkConst(x_196, x_198);
lean_inc(x_195);
lean_inc_ref(x_1);
x_200 = l_Lean_mkAppB(x_199, x_1, x_195);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_201 = lean_grind_canon(x_200, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_201) == 0)
{
lean_object* x_202; lean_object* x_203; 
x_202 = lean_ctor_get(x_201, 0);
lean_inc(x_202);
lean_dec_ref(x_201);
x_203 = l_Lean_Meta_Grind_shareCommon___redArg(x_202, x_5);
if (lean_obj_tag(x_203) == 0)
{
lean_object* x_204; lean_object* x_205; 
x_204 = lean_ctor_get(x_203, 0);
lean_inc(x_204);
lean_dec_ref(x_203);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_204);
x_205 = l_Lean_Meta_Grind_Arith_Linear_getStructId_x3f(x_204, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_205) == 0)
{
lean_object* x_206; 
x_206 = lean_ctor_get(x_205, 0);
lean_inc(x_206);
lean_dec_ref(x_205);
if (lean_obj_tag(x_206) == 1)
{
lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; 
x_207 = lean_ctor_get(x_206, 0);
lean_inc(x_207);
if (lean_is_exclusive(x_206)) {
 lean_ctor_release(x_206, 0);
 x_208 = x_206;
} else {
 lean_dec_ref(x_206);
 x_208 = lean_box(0);
}
x_209 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_12);
x_210 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_209, x_12, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_210) == 0)
{
lean_object* x_211; lean_object* x_212; lean_object* x_213; 
x_211 = lean_ctor_get(x_210, 0);
lean_inc(x_211);
lean_dec_ref(x_210);
x_212 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_12);
x_213 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst_x3f___redArg(x_212, x_12, x_1, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_213) == 0)
{
lean_object* x_214; lean_object* x_215; 
x_214 = lean_ctor_get(x_213, 0);
lean_inc(x_214);
lean_dec_ref(x_213);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_211);
lean_inc_ref(x_1);
lean_inc(x_12);
x_215 = l_Lean_Meta_Grind_mkIsPreorderInst_x3f___redArg(x_12, x_1, x_211, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_215) == 0)
{
lean_object* x_216; lean_object* x_217; 
x_216 = lean_ctor_get(x_215, 0);
lean_inc(x_216);
lean_dec_ref(x_215);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_211);
lean_inc(x_214);
lean_inc_ref(x_1);
lean_inc(x_12);
x_217 = l_Lean_Meta_Grind_mkLawfulOrderLTInst_x3f___redArg(x_12, x_1, x_214, x_211, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_217) == 0)
{
lean_object* x_218; lean_object* x_219; 
x_218 = lean_ctor_get(x_217, 0);
lean_inc(x_218);
lean_dec_ref(x_217);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_211);
lean_inc_ref(x_1);
lean_inc(x_12);
x_219 = l_Lean_Meta_Grind_mkIsLinearOrderInst_x3f___redArg(x_12, x_1, x_211, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_219) == 0)
{
lean_object* x_220; lean_object* x_221; lean_object* x_222; 
x_220 = lean_ctor_get(x_219, 0);
lean_inc(x_220);
lean_dec_ref(x_219);
x_221 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63;
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc_ref(x_1);
lean_inc(x_12);
x_222 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getBinHomoInst(x_221, x_12, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_222) == 0)
{
lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; 
x_223 = lean_ctor_get(x_222, 0);
lean_inc(x_223);
lean_dec_ref(x_222);
x_224 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65;
lean_inc_ref(x_198);
lean_inc(x_12);
x_225 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_225, 0, x_12);
lean_ctor_set(x_225, 1, x_198);
lean_inc_ref(x_225);
lean_inc(x_12);
x_226 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_226, 0, x_12);
lean_ctor_set(x_226, 1, x_225);
x_227 = l_Lean_mkConst(x_224, x_226);
lean_inc(x_223);
lean_inc_ref_n(x_1, 3);
x_228 = l_Lean_mkApp4(x_227, x_1, x_1, x_1, x_223);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_229 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_228, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_229) == 0)
{
lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; 
x_230 = lean_ctor_get(x_229, 0);
lean_inc(x_230);
lean_dec_ref(x_229);
if (lean_obj_tag(x_211) == 1)
{
if (lean_obj_tag(x_216) == 1)
{
lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; 
x_329 = lean_ctor_get(x_211, 0);
x_330 = lean_ctor_get(x_216, 0);
x_331 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67;
lean_inc_ref(x_198);
x_332 = l_Lean_mkConst(x_331, x_198);
lean_inc(x_330);
lean_inc(x_329);
lean_inc_ref(x_1);
x_333 = l_Lean_mkApp4(x_332, x_1, x_223, x_329, x_330);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
x_334 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_333, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_334) == 0)
{
lean_object* x_335; 
x_335 = lean_ctor_get(x_334, 0);
lean_inc(x_335);
lean_dec_ref(x_334);
x_231 = x_335;
x_232 = x_2;
x_233 = x_3;
x_234 = x_4;
x_235 = x_5;
x_236 = x_6;
x_237 = x_7;
x_238 = x_8;
x_239 = x_9;
x_240 = lean_box(0);
goto block_318;
}
else
{
lean_object* x_336; lean_object* x_337; lean_object* x_338; 
lean_dec(x_230);
lean_dec_ref(x_225);
lean_dec(x_220);
lean_dec(x_218);
lean_dec_ref(x_216);
lean_dec(x_214);
lean_dec_ref(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_336 = lean_ctor_get(x_334, 0);
lean_inc(x_336);
if (lean_is_exclusive(x_334)) {
 lean_ctor_release(x_334, 0);
 x_337 = x_334;
} else {
 lean_dec_ref(x_334);
 x_337 = lean_box(0);
}
if (lean_is_scalar(x_337)) {
 x_338 = lean_alloc_ctor(1, 1, 0);
} else {
 x_338 = x_337;
}
lean_ctor_set(x_338, 0, x_336);
return x_338;
}
}
else
{
lean_dec(x_223);
x_319 = x_2;
x_320 = x_3;
x_321 = x_4;
x_322 = x_5;
x_323 = x_6;
x_324 = x_7;
x_325 = x_8;
x_326 = x_9;
goto block_328;
}
}
else
{
lean_dec(x_223);
x_319 = x_2;
x_320 = x_3;
x_321 = x_4;
x_322 = x_5;
x_323 = x_6;
x_324 = x_7;
x_325 = x_8;
x_326 = x_9;
goto block_328;
}
block_318:
{
lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; 
x_241 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__4;
lean_inc_ref(x_198);
x_242 = l_Lean_mkConst(x_241, x_198);
lean_inc_ref(x_1);
x_243 = l_Lean_Expr_app___override(x_242, x_1);
lean_inc(x_239);
lean_inc_ref(x_238);
lean_inc(x_237);
lean_inc_ref(x_236);
x_244 = l_Lean_Meta_Grind_synthInstance(x_243, x_232, x_233, x_234, x_235, x_236, x_237, x_238, x_239);
if (lean_obj_tag(x_244) == 0)
{
lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; 
x_245 = lean_ctor_get(x_244, 0);
lean_inc(x_245);
lean_dec_ref(x_244);
x_246 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__6;
lean_inc_ref(x_198);
x_247 = l_Lean_mkConst(x_246, x_198);
lean_inc_ref(x_1);
x_248 = l_Lean_mkAppB(x_247, x_1, x_245);
lean_inc(x_239);
lean_inc_ref(x_238);
lean_inc(x_237);
lean_inc_ref(x_236);
x_249 = l_Lean_Meta_Grind_synthInstanceMeta_x3f(x_248, x_236, x_237, x_238, x_239);
if (lean_obj_tag(x_249) == 0)
{
lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; 
x_250 = lean_ctor_get(x_249, 0);
lean_inc(x_250);
lean_dec_ref(x_249);
x_251 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__8;
lean_inc_ref(x_198);
x_252 = l_Lean_mkConst(x_251, x_198);
lean_inc(x_195);
lean_inc_ref(x_1);
x_253 = l_Lean_mkAppB(x_252, x_1, x_195);
lean_inc(x_239);
lean_inc_ref(x_238);
lean_inc(x_237);
lean_inc_ref(x_236);
lean_inc(x_235);
lean_inc_ref(x_234);
lean_inc(x_233);
lean_inc(x_232);
x_254 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_253, x_232, x_233, x_234, x_235, x_236, x_237, x_238, x_239);
if (lean_obj_tag(x_254) == 0)
{
lean_object* x_255; lean_object* x_256; lean_object* x_257; 
x_255 = lean_ctor_get(x_254, 0);
lean_inc(x_255);
lean_dec_ref(x_254);
x_256 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15;
lean_inc(x_239);
lean_inc_ref(x_238);
lean_inc(x_237);
lean_inc_ref(x_236);
lean_inc_ref(x_1);
lean_inc(x_12);
x_257 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getInst(x_256, x_12, x_1, x_232, x_233, x_234, x_235, x_236, x_237, x_238, x_239);
if (lean_obj_tag(x_257) == 0)
{
lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; 
x_258 = lean_ctor_get(x_257, 0);
lean_inc(x_258);
lean_dec_ref(x_257);
x_259 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17;
x_260 = l_Lean_mkConst(x_259, x_198);
lean_inc_ref(x_1);
x_261 = l_Lean_mkAppB(x_260, x_1, x_258);
lean_inc(x_239);
lean_inc_ref(x_238);
lean_inc(x_237);
lean_inc_ref(x_236);
lean_inc(x_235);
lean_inc_ref(x_234);
lean_inc(x_233);
lean_inc(x_232);
x_262 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_internalizeConst(x_261, x_232, x_233, x_234, x_235, x_236, x_237, x_238, x_239);
if (lean_obj_tag(x_262) == 0)
{
lean_object* x_263; lean_object* x_264; 
x_263 = lean_ctor_get(x_262, 0);
lean_inc(x_263);
lean_dec_ref(x_262);
lean_inc(x_239);
lean_inc_ref(x_238);
lean_inc(x_237);
lean_inc_ref(x_236);
lean_inc_ref(x_1);
lean_inc(x_12);
x_264 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst(x_12, x_1, x_232, x_233, x_234, x_235, x_236, x_237, x_238, x_239);
if (lean_obj_tag(x_264) == 0)
{
lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; 
x_265 = lean_ctor_get(x_264, 0);
lean_inc(x_265);
lean_dec_ref(x_264);
x_266 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1;
x_267 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2;
x_268 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_268, 0, x_267);
lean_ctor_set(x_268, 1, x_225);
x_269 = l_Lean_mkConst(x_266, x_268);
x_270 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0;
lean_inc_ref_n(x_1, 2);
x_271 = l_Lean_mkApp4(x_269, x_270, x_1, x_1, x_265);
lean_inc_ref(x_238);
lean_inc(x_232);
x_272 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_preprocess(x_271, x_232, x_233, x_234, x_235, x_236, x_237, x_238, x_239);
if (lean_obj_tag(x_272) == 0)
{
lean_object* x_273; lean_object* x_274; 
x_273 = lean_ctor_get(x_272, 0);
lean_inc(x_273);
lean_dec_ref(x_272);
x_274 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_232, x_238);
lean_dec_ref(x_238);
if (lean_obj_tag(x_274) == 0)
{
lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; 
x_275 = lean_ctor_get(x_274, 0);
lean_inc(x_275);
lean_dec_ref(x_274);
x_276 = lean_ctor_get(x_275, 5);
lean_inc_ref(x_276);
lean_dec(x_275);
x_277 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__11;
lean_inc(x_12);
x_278 = l_Lean_Level_succ___override(x_12);
x_279 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_279, 0, x_278);
lean_ctor_set(x_279, 1, x_197);
x_280 = l_Lean_mkConst(x_277, x_279);
x_281 = l_Lean_Expr_app___override(x_280, x_204);
x_282 = lean_array_get_size(x_276);
lean_dec_ref(x_276);
x_283 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__13;
lean_inc(x_282);
x_284 = lean_alloc_ctor(0, 18, 0);
lean_ctor_set(x_284, 0, x_282);
lean_ctor_set(x_284, 1, x_207);
lean_ctor_set(x_284, 2, x_1);
lean_ctor_set(x_284, 3, x_12);
lean_ctor_set(x_284, 4, x_195);
lean_ctor_set(x_284, 5, x_211);
lean_ctor_set(x_284, 6, x_214);
lean_ctor_set(x_284, 7, x_218);
lean_ctor_set(x_284, 8, x_216);
lean_ctor_set(x_284, 9, x_231);
lean_ctor_set(x_284, 10, x_220);
lean_ctor_set(x_284, 11, x_250);
lean_ctor_set(x_284, 12, x_281);
lean_ctor_set(x_284, 13, x_263);
lean_ctor_set(x_284, 14, x_255);
lean_ctor_set(x_284, 15, x_230);
lean_ctor_set(x_284, 16, x_273);
lean_ctor_set(x_284, 17, x_283);
x_285 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___lam__0), 2, 1);
lean_closure_set(x_285, 0, x_284);
x_286 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_287 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_286, x_285, x_232);
lean_dec(x_232);
if (lean_obj_tag(x_287) == 0)
{
lean_object* x_288; lean_object* x_289; lean_object* x_290; 
if (lean_is_exclusive(x_287)) {
 lean_ctor_release(x_287, 0);
 x_288 = x_287;
} else {
 lean_dec_ref(x_287);
 x_288 = lean_box(0);
}
if (lean_is_scalar(x_208)) {
 x_289 = lean_alloc_ctor(1, 1, 0);
} else {
 x_289 = x_208;
}
lean_ctor_set(x_289, 0, x_282);
if (lean_is_scalar(x_288)) {
 x_290 = lean_alloc_ctor(0, 1, 0);
} else {
 x_290 = x_288;
}
lean_ctor_set(x_290, 0, x_289);
return x_290;
}
else
{
lean_object* x_291; lean_object* x_292; lean_object* x_293; 
lean_dec(x_282);
lean_dec(x_208);
x_291 = lean_ctor_get(x_287, 0);
lean_inc(x_291);
if (lean_is_exclusive(x_287)) {
 lean_ctor_release(x_287, 0);
 x_292 = x_287;
} else {
 lean_dec_ref(x_287);
 x_292 = lean_box(0);
}
if (lean_is_scalar(x_292)) {
 x_293 = lean_alloc_ctor(1, 1, 0);
} else {
 x_293 = x_292;
}
lean_ctor_set(x_293, 0, x_291);
return x_293;
}
}
else
{
lean_object* x_294; lean_object* x_295; lean_object* x_296; 
lean_dec(x_273);
lean_dec(x_263);
lean_dec(x_255);
lean_dec(x_250);
lean_dec(x_232);
lean_dec(x_231);
lean_dec(x_230);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec(x_195);
lean_dec(x_12);
lean_dec_ref(x_1);
x_294 = lean_ctor_get(x_274, 0);
lean_inc(x_294);
if (lean_is_exclusive(x_274)) {
 lean_ctor_release(x_274, 0);
 x_295 = x_274;
} else {
 lean_dec_ref(x_274);
 x_295 = lean_box(0);
}
if (lean_is_scalar(x_295)) {
 x_296 = lean_alloc_ctor(1, 1, 0);
} else {
 x_296 = x_295;
}
lean_ctor_set(x_296, 0, x_294);
return x_296;
}
}
else
{
lean_object* x_297; lean_object* x_298; lean_object* x_299; 
lean_dec(x_263);
lean_dec(x_255);
lean_dec(x_250);
lean_dec_ref(x_238);
lean_dec(x_232);
lean_dec(x_231);
lean_dec(x_230);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec(x_195);
lean_dec(x_12);
lean_dec_ref(x_1);
x_297 = lean_ctor_get(x_272, 0);
lean_inc(x_297);
if (lean_is_exclusive(x_272)) {
 lean_ctor_release(x_272, 0);
 x_298 = x_272;
} else {
 lean_dec_ref(x_272);
 x_298 = lean_box(0);
}
if (lean_is_scalar(x_298)) {
 x_299 = lean_alloc_ctor(1, 1, 0);
} else {
 x_299 = x_298;
}
lean_ctor_set(x_299, 0, x_297);
return x_299;
}
}
else
{
lean_object* x_300; lean_object* x_301; lean_object* x_302; 
lean_dec(x_263);
lean_dec(x_255);
lean_dec(x_250);
lean_dec(x_239);
lean_dec_ref(x_238);
lean_dec(x_237);
lean_dec_ref(x_236);
lean_dec(x_235);
lean_dec_ref(x_234);
lean_dec(x_233);
lean_dec(x_232);
lean_dec(x_231);
lean_dec(x_230);
lean_dec_ref(x_225);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec(x_195);
lean_dec(x_12);
lean_dec_ref(x_1);
x_300 = lean_ctor_get(x_264, 0);
lean_inc(x_300);
if (lean_is_exclusive(x_264)) {
 lean_ctor_release(x_264, 0);
 x_301 = x_264;
} else {
 lean_dec_ref(x_264);
 x_301 = lean_box(0);
}
if (lean_is_scalar(x_301)) {
 x_302 = lean_alloc_ctor(1, 1, 0);
} else {
 x_302 = x_301;
}
lean_ctor_set(x_302, 0, x_300);
return x_302;
}
}
else
{
lean_object* x_303; lean_object* x_304; lean_object* x_305; 
lean_dec(x_255);
lean_dec(x_250);
lean_dec(x_239);
lean_dec_ref(x_238);
lean_dec(x_237);
lean_dec_ref(x_236);
lean_dec(x_235);
lean_dec_ref(x_234);
lean_dec(x_233);
lean_dec(x_232);
lean_dec(x_231);
lean_dec(x_230);
lean_dec_ref(x_225);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec(x_195);
lean_dec(x_12);
lean_dec_ref(x_1);
x_303 = lean_ctor_get(x_262, 0);
lean_inc(x_303);
if (lean_is_exclusive(x_262)) {
 lean_ctor_release(x_262, 0);
 x_304 = x_262;
} else {
 lean_dec_ref(x_262);
 x_304 = lean_box(0);
}
if (lean_is_scalar(x_304)) {
 x_305 = lean_alloc_ctor(1, 1, 0);
} else {
 x_305 = x_304;
}
lean_ctor_set(x_305, 0, x_303);
return x_305;
}
}
else
{
lean_object* x_306; lean_object* x_307; lean_object* x_308; 
lean_dec(x_255);
lean_dec(x_250);
lean_dec(x_239);
lean_dec_ref(x_238);
lean_dec(x_237);
lean_dec_ref(x_236);
lean_dec(x_235);
lean_dec_ref(x_234);
lean_dec(x_233);
lean_dec(x_232);
lean_dec(x_231);
lean_dec(x_230);
lean_dec_ref(x_225);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec_ref(x_1);
x_306 = lean_ctor_get(x_257, 0);
lean_inc(x_306);
if (lean_is_exclusive(x_257)) {
 lean_ctor_release(x_257, 0);
 x_307 = x_257;
} else {
 lean_dec_ref(x_257);
 x_307 = lean_box(0);
}
if (lean_is_scalar(x_307)) {
 x_308 = lean_alloc_ctor(1, 1, 0);
} else {
 x_308 = x_307;
}
lean_ctor_set(x_308, 0, x_306);
return x_308;
}
}
else
{
lean_object* x_309; lean_object* x_310; lean_object* x_311; 
lean_dec(x_250);
lean_dec(x_239);
lean_dec_ref(x_238);
lean_dec(x_237);
lean_dec_ref(x_236);
lean_dec(x_235);
lean_dec_ref(x_234);
lean_dec(x_233);
lean_dec(x_232);
lean_dec(x_231);
lean_dec(x_230);
lean_dec_ref(x_225);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec_ref(x_1);
x_309 = lean_ctor_get(x_254, 0);
lean_inc(x_309);
if (lean_is_exclusive(x_254)) {
 lean_ctor_release(x_254, 0);
 x_310 = x_254;
} else {
 lean_dec_ref(x_254);
 x_310 = lean_box(0);
}
if (lean_is_scalar(x_310)) {
 x_311 = lean_alloc_ctor(1, 1, 0);
} else {
 x_311 = x_310;
}
lean_ctor_set(x_311, 0, x_309);
return x_311;
}
}
else
{
lean_object* x_312; lean_object* x_313; lean_object* x_314; 
lean_dec(x_239);
lean_dec_ref(x_238);
lean_dec(x_237);
lean_dec_ref(x_236);
lean_dec(x_235);
lean_dec_ref(x_234);
lean_dec(x_233);
lean_dec(x_232);
lean_dec(x_231);
lean_dec(x_230);
lean_dec_ref(x_225);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec_ref(x_1);
x_312 = lean_ctor_get(x_249, 0);
lean_inc(x_312);
if (lean_is_exclusive(x_249)) {
 lean_ctor_release(x_249, 0);
 x_313 = x_249;
} else {
 lean_dec_ref(x_249);
 x_313 = lean_box(0);
}
if (lean_is_scalar(x_313)) {
 x_314 = lean_alloc_ctor(1, 1, 0);
} else {
 x_314 = x_313;
}
lean_ctor_set(x_314, 0, x_312);
return x_314;
}
}
else
{
lean_object* x_315; lean_object* x_316; lean_object* x_317; 
lean_dec(x_239);
lean_dec_ref(x_238);
lean_dec(x_237);
lean_dec_ref(x_236);
lean_dec(x_235);
lean_dec_ref(x_234);
lean_dec(x_233);
lean_dec(x_232);
lean_dec(x_231);
lean_dec(x_230);
lean_dec_ref(x_225);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec_ref(x_1);
x_315 = lean_ctor_get(x_244, 0);
lean_inc(x_315);
if (lean_is_exclusive(x_244)) {
 lean_ctor_release(x_244, 0);
 x_316 = x_244;
} else {
 lean_dec_ref(x_244);
 x_316 = lean_box(0);
}
if (lean_is_scalar(x_316)) {
 x_317 = lean_alloc_ctor(1, 1, 0);
} else {
 x_317 = x_316;
}
lean_ctor_set(x_317, 0, x_315);
return x_317;
}
}
block_328:
{
lean_object* x_327; 
x_327 = lean_box(0);
x_231 = x_327;
x_232 = x_319;
x_233 = x_320;
x_234 = x_321;
x_235 = x_322;
x_236 = x_323;
x_237 = x_324;
x_238 = x_325;
x_239 = x_326;
x_240 = lean_box(0);
goto block_318;
}
}
else
{
lean_object* x_339; lean_object* x_340; lean_object* x_341; 
lean_dec_ref(x_225);
lean_dec(x_223);
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_339 = lean_ctor_get(x_229, 0);
lean_inc(x_339);
if (lean_is_exclusive(x_229)) {
 lean_ctor_release(x_229, 0);
 x_340 = x_229;
} else {
 lean_dec_ref(x_229);
 x_340 = lean_box(0);
}
if (lean_is_scalar(x_340)) {
 x_341 = lean_alloc_ctor(1, 1, 0);
} else {
 x_341 = x_340;
}
lean_ctor_set(x_341, 0, x_339);
return x_341;
}
}
else
{
lean_object* x_342; lean_object* x_343; lean_object* x_344; 
lean_dec(x_220);
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_342 = lean_ctor_get(x_222, 0);
lean_inc(x_342);
if (lean_is_exclusive(x_222)) {
 lean_ctor_release(x_222, 0);
 x_343 = x_222;
} else {
 lean_dec_ref(x_222);
 x_343 = lean_box(0);
}
if (lean_is_scalar(x_343)) {
 x_344 = lean_alloc_ctor(1, 1, 0);
} else {
 x_344 = x_343;
}
lean_ctor_set(x_344, 0, x_342);
return x_344;
}
}
else
{
lean_object* x_345; lean_object* x_346; lean_object* x_347; 
lean_dec(x_218);
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_345 = lean_ctor_get(x_219, 0);
lean_inc(x_345);
if (lean_is_exclusive(x_219)) {
 lean_ctor_release(x_219, 0);
 x_346 = x_219;
} else {
 lean_dec_ref(x_219);
 x_346 = lean_box(0);
}
if (lean_is_scalar(x_346)) {
 x_347 = lean_alloc_ctor(1, 1, 0);
} else {
 x_347 = x_346;
}
lean_ctor_set(x_347, 0, x_345);
return x_347;
}
}
else
{
lean_object* x_348; lean_object* x_349; lean_object* x_350; 
lean_dec(x_216);
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_348 = lean_ctor_get(x_217, 0);
lean_inc(x_348);
if (lean_is_exclusive(x_217)) {
 lean_ctor_release(x_217, 0);
 x_349 = x_217;
} else {
 lean_dec_ref(x_217);
 x_349 = lean_box(0);
}
if (lean_is_scalar(x_349)) {
 x_350 = lean_alloc_ctor(1, 1, 0);
} else {
 x_350 = x_349;
}
lean_ctor_set(x_350, 0, x_348);
return x_350;
}
}
else
{
lean_object* x_351; lean_object* x_352; lean_object* x_353; 
lean_dec(x_214);
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_351 = lean_ctor_get(x_215, 0);
lean_inc(x_351);
if (lean_is_exclusive(x_215)) {
 lean_ctor_release(x_215, 0);
 x_352 = x_215;
} else {
 lean_dec_ref(x_215);
 x_352 = lean_box(0);
}
if (lean_is_scalar(x_352)) {
 x_353 = lean_alloc_ctor(1, 1, 0);
} else {
 x_353 = x_352;
}
lean_ctor_set(x_353, 0, x_351);
return x_353;
}
}
else
{
lean_object* x_354; lean_object* x_355; lean_object* x_356; 
lean_dec(x_211);
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_354 = lean_ctor_get(x_213, 0);
lean_inc(x_354);
if (lean_is_exclusive(x_213)) {
 lean_ctor_release(x_213, 0);
 x_355 = x_213;
} else {
 lean_dec_ref(x_213);
 x_355 = lean_box(0);
}
if (lean_is_scalar(x_355)) {
 x_356 = lean_alloc_ctor(1, 1, 0);
} else {
 x_356 = x_355;
}
lean_ctor_set(x_356, 0, x_354);
return x_356;
}
}
else
{
lean_object* x_357; lean_object* x_358; lean_object* x_359; 
lean_dec(x_208);
lean_dec(x_207);
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_357 = lean_ctor_get(x_210, 0);
lean_inc(x_357);
if (lean_is_exclusive(x_210)) {
 lean_ctor_release(x_210, 0);
 x_358 = x_210;
} else {
 lean_dec_ref(x_210);
 x_358 = lean_box(0);
}
if (lean_is_scalar(x_358)) {
 x_359 = lean_alloc_ctor(1, 1, 0);
} else {
 x_359 = x_358;
}
lean_ctor_set(x_359, 0, x_357);
return x_359;
}
}
else
{
lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; 
lean_dec(x_206);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_360 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__15;
x_361 = l_Lean_indentExpr(x_204);
x_362 = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(x_362, 0, x_360);
lean_ctor_set(x_362, 1, x_361);
x_363 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___redArg(x_362, x_6, x_7, x_8, x_9);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
return x_363;
}
}
else
{
lean_dec(x_204);
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
return x_205;
}
}
else
{
lean_object* x_364; lean_object* x_365; lean_object* x_366; 
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_364 = lean_ctor_get(x_203, 0);
lean_inc(x_364);
if (lean_is_exclusive(x_203)) {
 lean_ctor_release(x_203, 0);
 x_365 = x_203;
} else {
 lean_dec_ref(x_203);
 x_365 = lean_box(0);
}
if (lean_is_scalar(x_365)) {
 x_366 = lean_alloc_ctor(1, 1, 0);
} else {
 x_366 = x_365;
}
lean_ctor_set(x_366, 0, x_364);
return x_366;
}
}
else
{
lean_object* x_367; lean_object* x_368; lean_object* x_369; 
lean_dec_ref(x_198);
lean_dec(x_195);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_367 = lean_ctor_get(x_201, 0);
lean_inc(x_367);
if (lean_is_exclusive(x_201)) {
 lean_ctor_release(x_201, 0);
 x_368 = x_201;
} else {
 lean_dec_ref(x_201);
 x_368 = lean_box(0);
}
if (lean_is_scalar(x_368)) {
 x_369 = lean_alloc_ctor(1, 1, 0);
} else {
 x_369 = x_368;
}
lean_ctor_set(x_369, 0, x_367);
return x_369;
}
}
else
{
lean_object* x_370; lean_object* x_371; 
lean_dec(x_194);
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_370 = lean_box(0);
x_371 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_371, 0, x_370);
return x_371;
}
}
}
else
{
uint8_t x_372; 
lean_dec(x_12);
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_372 = !lean_is_exclusive(x_13);
if (x_372 == 0)
{
return x_13;
}
else
{
lean_object* x_373; lean_object* x_374; 
x_373 = lean_ctor_get(x_13, 0);
lean_inc(x_373);
lean_dec(x_13);
x_374 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_374, 0, x_373);
return x_374;
}
}
}
else
{
uint8_t x_375; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_375 = !lean_is_exclusive(x_11);
if (x_375 == 0)
{
return x_11;
}
else
{
lean_object* x_376; lean_object* x_377; 
x_376 = lean_ctor_get(x_11, 0);
lean_inc(x_376);
lean_dec(x_11);
x_377 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_377, 0, x_376);
return x_377;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
_start:
{
lean_object* x_12; 
x_12 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
lean_dec(x_10);
lean_dec_ref(x_9);
lean_dec(x_8);
lean_dec_ref(x_7);
lean_dec(x_6);
lean_dec_ref(x_5);
lean_dec(x_4);
lean_dec(x_3);
return x_12;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
lean_object* x_7; 
x_7 = l_Lean_throwError___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f_spec__0___redArg(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec_ref(x_2);
return x_7;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5; 
x_4 = lean_array_get_size(x_1);
x_5 = lean_nat_dec_lt(x_2, x_4);
lean_dec(x_4);
if (x_5 == 0)
{
lean_dec(x_2);
return x_5;
}
else
{
lean_object* x_6; uint8_t x_7; 
x_6 = lean_array_fget_borrowed(x_1, x_2);
x_7 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_3, x_6);
if (x_7 == 0)
{
lean_object* x_8; lean_object* x_9; 
x_8 = lean_unsigned_to_nat(1u);
x_9 = lean_nat_add(x_2, x_8);
lean_dec(x_2);
x_2 = x_9;
goto _start;
}
else
{
lean_dec(x_2);
return x_7;
}
}
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___redArg(lean_object* x_1, size_t x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4; lean_object* x_5; size_t x_6; size_t x_7; size_t x_8; lean_object* x_9; lean_object* x_10; 
x_4 = lean_ctor_get(x_1, 0);
lean_inc_ref(x_4);
lean_dec_ref(x_1);
x_5 = lean_box(2);
x_6 = 5;
x_7 = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__1;
x_8 = lean_usize_land(x_2, x_7);
x_9 = lean_usize_to_nat(x_8);
x_10 = lean_array_get(x_5, x_4, x_9);
lean_dec(x_9);
lean_dec_ref(x_4);
switch (lean_obj_tag(x_10)) {
case 0:
{
lean_object* x_11; uint8_t x_12; 
x_11 = lean_ctor_get(x_10, 0);
lean_inc(x_11);
lean_dec_ref(x_10);
x_12 = l___private_Lean_Meta_Tactic_Grind_ExprPtr_0__Lean_Meta_Grind_isSameExpr_unsafe__1(x_3, x_11);
lean_dec(x_11);
return x_12;
}
case 1:
{
lean_object* x_13; size_t x_14; 
x_13 = lean_ctor_get(x_10, 0);
lean_inc(x_13);
lean_dec_ref(x_10);
x_14 = lean_usize_shift_right(x_2, x_6);
x_1 = x_13;
x_2 = x_14;
goto _start;
}
default: 
{
uint8_t x_16; 
x_16 = 0;
return x_16;
}
}
}
else
{
lean_object* x_17; lean_object* x_18; uint8_t x_19; 
x_17 = lean_ctor_get(x_1, 0);
lean_inc_ref(x_17);
lean_dec_ref(x_1);
x_18 = lean_unsigned_to_nat(0u);
x_19 = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___redArg(x_17, x_18, x_3);
lean_dec_ref(x_17);
return x_19;
}
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg(lean_object* x_1, lean_object* x_2) {
_start:
{
uint64_t x_3; size_t x_4; uint8_t x_5; 
x_3 = l_Lean_Meta_Grind_hashPtrExpr_unsafe__1(x_2);
x_4 = lean_uint64_to_usize(x_3);
x_5 = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___redArg(x_1, x_4, x_2);
return x_5;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4; 
x_4 = l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg(x_2, x_3);
return x_4;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_7; 
x_7 = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___redArg(x_2, x_5, x_6);
return x_7;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0(lean_object* x_1, lean_object* x_2, size_t x_3, lean_object* x_4) {
_start:
{
uint8_t x_5; 
x_5 = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___redArg(x_2, x_3, x_4);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4; 
x_4 = !lean_is_exclusive(x_3);
if (x_4 == 0)
{
lean_object* x_5; lean_object* x_6; 
x_5 = lean_ctor_get(x_3, 6);
x_6 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(x_5, x_1, x_2);
lean_ctor_set(x_3, 6, x_6);
return x_3;
}
else
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; 
x_7 = lean_ctor_get(x_3, 0);
x_8 = lean_ctor_get(x_3, 1);
x_9 = lean_ctor_get(x_3, 2);
x_10 = lean_ctor_get(x_3, 3);
x_11 = lean_ctor_get(x_3, 4);
x_12 = lean_ctor_get(x_3, 5);
x_13 = lean_ctor_get(x_3, 6);
x_14 = lean_ctor_get(x_3, 7);
lean_inc(x_14);
lean_inc(x_13);
lean_inc(x_12);
lean_inc(x_11);
lean_inc(x_10);
lean_inc(x_9);
lean_inc(x_8);
lean_inc(x_7);
lean_dec(x_3);
x_15 = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0___redArg(x_13, x_1, x_2);
x_16 = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(x_16, 0, x_7);
lean_ctor_set(x_16, 1, x_8);
lean_ctor_set(x_16, 2, x_9);
lean_ctor_set(x_16, 3, x_10);
lean_ctor_set(x_16, 4, x_11);
lean_ctor_set(x_16, 5, x_12);
lean_ctor_set(x_16, 6, x_15);
lean_ctor_set(x_16, 7, x_14);
return x_16;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
_start:
{
lean_object* x_11; 
x_11 = l_Lean_Meta_Grind_getConfig___redArg(x_4);
if (lean_obj_tag(x_11) == 0)
{
uint8_t x_12; 
x_12 = !lean_is_exclusive(x_11);
if (x_12 == 0)
{
lean_object* x_13; uint8_t x_14; 
x_13 = lean_ctor_get(x_11, 0);
x_14 = lean_ctor_get_uint8(x_13, sizeof(void*)*10 + 20);
lean_dec(x_13);
if (x_14 == 0)
{
lean_object* x_15; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_15 = lean_box(0);
lean_ctor_set(x_11, 0, x_15);
return x_11;
}
else
{
lean_object* x_16; 
lean_free_object(x_11);
x_16 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_16) == 0)
{
uint8_t x_17; 
x_17 = !lean_is_exclusive(x_16);
if (x_17 == 0)
{
lean_object* x_18; lean_object* x_19; uint8_t x_20; 
x_18 = lean_ctor_get(x_16, 0);
x_19 = lean_ctor_get(x_18, 4);
lean_inc_ref(x_19);
lean_dec(x_18);
x_20 = l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg(x_19, x_1);
if (x_20 == 0)
{
lean_object* x_21; 
lean_free_object(x_16);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc_ref(x_1);
x_21 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_21) == 0)
{
uint8_t x_22; 
x_22 = !lean_is_exclusive(x_21);
if (x_22 == 0)
{
lean_object* x_23; uint8_t x_24; 
x_23 = lean_ctor_get(x_21, 0);
x_24 = lean_unbox(x_23);
lean_dec(x_23);
if (x_24 == 0)
{
lean_object* x_25; 
lean_free_object(x_21);
x_25 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_25) == 0)
{
uint8_t x_26; 
x_26 = !lean_is_exclusive(x_25);
if (x_26 == 0)
{
lean_object* x_27; lean_object* x_28; lean_object* x_29; 
x_27 = lean_ctor_get(x_25, 0);
x_28 = lean_ctor_get(x_27, 6);
lean_inc_ref(x_28);
lean_dec(x_27);
x_29 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_28, x_1);
if (lean_obj_tag(x_29) == 1)
{
lean_object* x_30; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_30 = lean_ctor_get(x_29, 0);
lean_inc(x_30);
lean_dec_ref(x_29);
lean_ctor_set(x_25, 0, x_30);
return x_25;
}
else
{
lean_object* x_31; 
lean_dec(x_29);
lean_free_object(x_25);
lean_inc(x_2);
lean_inc_ref(x_1);
x_31 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_31) == 0)
{
lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; 
x_32 = lean_ctor_get(x_31, 0);
lean_inc(x_32);
lean_dec_ref(x_31);
lean_inc(x_32);
x_33 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_33, 0, x_1);
lean_closure_set(x_33, 1, x_32);
x_34 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_35 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_34, x_33, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_35) == 0)
{
uint8_t x_36; 
x_36 = !lean_is_exclusive(x_35);
if (x_36 == 0)
{
lean_object* x_37; 
x_37 = lean_ctor_get(x_35, 0);
lean_dec(x_37);
lean_ctor_set(x_35, 0, x_32);
return x_35;
}
else
{
lean_object* x_38; 
lean_dec(x_35);
x_38 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_38, 0, x_32);
return x_38;
}
}
else
{
uint8_t x_39; 
lean_dec(x_32);
x_39 = !lean_is_exclusive(x_35);
if (x_39 == 0)
{
return x_35;
}
else
{
lean_object* x_40; lean_object* x_41; 
x_40 = lean_ctor_get(x_35, 0);
lean_inc(x_40);
lean_dec(x_35);
x_41 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_41, 0, x_40);
return x_41;
}
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_31;
}
}
}
else
{
lean_object* x_42; lean_object* x_43; lean_object* x_44; 
x_42 = lean_ctor_get(x_25, 0);
lean_inc(x_42);
lean_dec(x_25);
x_43 = lean_ctor_get(x_42, 6);
lean_inc_ref(x_43);
lean_dec(x_42);
x_44 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_43, x_1);
if (lean_obj_tag(x_44) == 1)
{
lean_object* x_45; lean_object* x_46; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_45 = lean_ctor_get(x_44, 0);
lean_inc(x_45);
lean_dec_ref(x_44);
x_46 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_46, 0, x_45);
return x_46;
}
else
{
lean_object* x_47; 
lean_dec(x_44);
lean_inc(x_2);
lean_inc_ref(x_1);
x_47 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_47) == 0)
{
lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; 
x_48 = lean_ctor_get(x_47, 0);
lean_inc(x_48);
lean_dec_ref(x_47);
lean_inc(x_48);
x_49 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_49, 0, x_1);
lean_closure_set(x_49, 1, x_48);
x_50 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_51 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_50, x_49, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_51) == 0)
{
lean_object* x_52; lean_object* x_53; 
if (lean_is_exclusive(x_51)) {
 lean_ctor_release(x_51, 0);
 x_52 = x_51;
} else {
 lean_dec_ref(x_51);
 x_52 = lean_box(0);
}
if (lean_is_scalar(x_52)) {
 x_53 = lean_alloc_ctor(0, 1, 0);
} else {
 x_53 = x_52;
}
lean_ctor_set(x_53, 0, x_48);
return x_53;
}
else
{
lean_object* x_54; lean_object* x_55; lean_object* x_56; 
lean_dec(x_48);
x_54 = lean_ctor_get(x_51, 0);
lean_inc(x_54);
if (lean_is_exclusive(x_51)) {
 lean_ctor_release(x_51, 0);
 x_55 = x_51;
} else {
 lean_dec_ref(x_51);
 x_55 = lean_box(0);
}
if (lean_is_scalar(x_55)) {
 x_56 = lean_alloc_ctor(1, 1, 0);
} else {
 x_56 = x_55;
}
lean_ctor_set(x_56, 0, x_54);
return x_56;
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_47;
}
}
}
}
else
{
uint8_t x_57; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_57 = !lean_is_exclusive(x_25);
if (x_57 == 0)
{
return x_25;
}
else
{
lean_object* x_58; lean_object* x_59; 
x_58 = lean_ctor_get(x_25, 0);
lean_inc(x_58);
lean_dec(x_25);
x_59 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_59, 0, x_58);
return x_59;
}
}
}
else
{
lean_object* x_60; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_60 = lean_box(0);
lean_ctor_set(x_21, 0, x_60);
return x_21;
}
}
else
{
lean_object* x_61; uint8_t x_62; 
x_61 = lean_ctor_get(x_21, 0);
lean_inc(x_61);
lean_dec(x_21);
x_62 = lean_unbox(x_61);
lean_dec(x_61);
if (x_62 == 0)
{
lean_object* x_63; 
x_63 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_63) == 0)
{
lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; 
x_64 = lean_ctor_get(x_63, 0);
lean_inc(x_64);
if (lean_is_exclusive(x_63)) {
 lean_ctor_release(x_63, 0);
 x_65 = x_63;
} else {
 lean_dec_ref(x_63);
 x_65 = lean_box(0);
}
x_66 = lean_ctor_get(x_64, 6);
lean_inc_ref(x_66);
lean_dec(x_64);
x_67 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_66, x_1);
if (lean_obj_tag(x_67) == 1)
{
lean_object* x_68; lean_object* x_69; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_68 = lean_ctor_get(x_67, 0);
lean_inc(x_68);
lean_dec_ref(x_67);
if (lean_is_scalar(x_65)) {
 x_69 = lean_alloc_ctor(0, 1, 0);
} else {
 x_69 = x_65;
}
lean_ctor_set(x_69, 0, x_68);
return x_69;
}
else
{
lean_object* x_70; 
lean_dec(x_67);
lean_dec(x_65);
lean_inc(x_2);
lean_inc_ref(x_1);
x_70 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_70) == 0)
{
lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; 
x_71 = lean_ctor_get(x_70, 0);
lean_inc(x_71);
lean_dec_ref(x_70);
lean_inc(x_71);
x_72 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_72, 0, x_1);
lean_closure_set(x_72, 1, x_71);
x_73 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_74 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_73, x_72, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_74) == 0)
{
lean_object* x_75; lean_object* x_76; 
if (lean_is_exclusive(x_74)) {
 lean_ctor_release(x_74, 0);
 x_75 = x_74;
} else {
 lean_dec_ref(x_74);
 x_75 = lean_box(0);
}
if (lean_is_scalar(x_75)) {
 x_76 = lean_alloc_ctor(0, 1, 0);
} else {
 x_76 = x_75;
}
lean_ctor_set(x_76, 0, x_71);
return x_76;
}
else
{
lean_object* x_77; lean_object* x_78; lean_object* x_79; 
lean_dec(x_71);
x_77 = lean_ctor_get(x_74, 0);
lean_inc(x_77);
if (lean_is_exclusive(x_74)) {
 lean_ctor_release(x_74, 0);
 x_78 = x_74;
} else {
 lean_dec_ref(x_74);
 x_78 = lean_box(0);
}
if (lean_is_scalar(x_78)) {
 x_79 = lean_alloc_ctor(1, 1, 0);
} else {
 x_79 = x_78;
}
lean_ctor_set(x_79, 0, x_77);
return x_79;
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_70;
}
}
}
else
{
lean_object* x_80; lean_object* x_81; lean_object* x_82; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_80 = lean_ctor_get(x_63, 0);
lean_inc(x_80);
if (lean_is_exclusive(x_63)) {
 lean_ctor_release(x_63, 0);
 x_81 = x_63;
} else {
 lean_dec_ref(x_63);
 x_81 = lean_box(0);
}
if (lean_is_scalar(x_81)) {
 x_82 = lean_alloc_ctor(1, 1, 0);
} else {
 x_82 = x_81;
}
lean_ctor_set(x_82, 0, x_80);
return x_82;
}
}
else
{
lean_object* x_83; lean_object* x_84; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_83 = lean_box(0);
x_84 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_84, 0, x_83);
return x_84;
}
}
}
else
{
uint8_t x_85; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_85 = !lean_is_exclusive(x_21);
if (x_85 == 0)
{
return x_21;
}
else
{
lean_object* x_86; lean_object* x_87; 
x_86 = lean_ctor_get(x_21, 0);
lean_inc(x_86);
lean_dec(x_21);
x_87 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_87, 0, x_86);
return x_87;
}
}
}
else
{
lean_object* x_88; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_88 = lean_box(0);
lean_ctor_set(x_16, 0, x_88);
return x_16;
}
}
else
{
lean_object* x_89; lean_object* x_90; uint8_t x_91; 
x_89 = lean_ctor_get(x_16, 0);
lean_inc(x_89);
lean_dec(x_16);
x_90 = lean_ctor_get(x_89, 4);
lean_inc_ref(x_90);
lean_dec(x_89);
x_91 = l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg(x_90, x_1);
if (x_91 == 0)
{
lean_object* x_92; 
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc_ref(x_1);
x_92 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_92) == 0)
{
lean_object* x_93; lean_object* x_94; uint8_t x_95; 
x_93 = lean_ctor_get(x_92, 0);
lean_inc(x_93);
if (lean_is_exclusive(x_92)) {
 lean_ctor_release(x_92, 0);
 x_94 = x_92;
} else {
 lean_dec_ref(x_92);
 x_94 = lean_box(0);
}
x_95 = lean_unbox(x_93);
lean_dec(x_93);
if (x_95 == 0)
{
lean_object* x_96; 
lean_dec(x_94);
x_96 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_96) == 0)
{
lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; 
x_97 = lean_ctor_get(x_96, 0);
lean_inc(x_97);
if (lean_is_exclusive(x_96)) {
 lean_ctor_release(x_96, 0);
 x_98 = x_96;
} else {
 lean_dec_ref(x_96);
 x_98 = lean_box(0);
}
x_99 = lean_ctor_get(x_97, 6);
lean_inc_ref(x_99);
lean_dec(x_97);
x_100 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_99, x_1);
if (lean_obj_tag(x_100) == 1)
{
lean_object* x_101; lean_object* x_102; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_101 = lean_ctor_get(x_100, 0);
lean_inc(x_101);
lean_dec_ref(x_100);
if (lean_is_scalar(x_98)) {
 x_102 = lean_alloc_ctor(0, 1, 0);
} else {
 x_102 = x_98;
}
lean_ctor_set(x_102, 0, x_101);
return x_102;
}
else
{
lean_object* x_103; 
lean_dec(x_100);
lean_dec(x_98);
lean_inc(x_2);
lean_inc_ref(x_1);
x_103 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_103) == 0)
{
lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; 
x_104 = lean_ctor_get(x_103, 0);
lean_inc(x_104);
lean_dec_ref(x_103);
lean_inc(x_104);
x_105 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_105, 0, x_1);
lean_closure_set(x_105, 1, x_104);
x_106 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_107 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_106, x_105, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_107) == 0)
{
lean_object* x_108; lean_object* x_109; 
if (lean_is_exclusive(x_107)) {
 lean_ctor_release(x_107, 0);
 x_108 = x_107;
} else {
 lean_dec_ref(x_107);
 x_108 = lean_box(0);
}
if (lean_is_scalar(x_108)) {
 x_109 = lean_alloc_ctor(0, 1, 0);
} else {
 x_109 = x_108;
}
lean_ctor_set(x_109, 0, x_104);
return x_109;
}
else
{
lean_object* x_110; lean_object* x_111; lean_object* x_112; 
lean_dec(x_104);
x_110 = lean_ctor_get(x_107, 0);
lean_inc(x_110);
if (lean_is_exclusive(x_107)) {
 lean_ctor_release(x_107, 0);
 x_111 = x_107;
} else {
 lean_dec_ref(x_107);
 x_111 = lean_box(0);
}
if (lean_is_scalar(x_111)) {
 x_112 = lean_alloc_ctor(1, 1, 0);
} else {
 x_112 = x_111;
}
lean_ctor_set(x_112, 0, x_110);
return x_112;
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_103;
}
}
}
else
{
lean_object* x_113; lean_object* x_114; lean_object* x_115; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_113 = lean_ctor_get(x_96, 0);
lean_inc(x_113);
if (lean_is_exclusive(x_96)) {
 lean_ctor_release(x_96, 0);
 x_114 = x_96;
} else {
 lean_dec_ref(x_96);
 x_114 = lean_box(0);
}
if (lean_is_scalar(x_114)) {
 x_115 = lean_alloc_ctor(1, 1, 0);
} else {
 x_115 = x_114;
}
lean_ctor_set(x_115, 0, x_113);
return x_115;
}
}
else
{
lean_object* x_116; lean_object* x_117; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_116 = lean_box(0);
if (lean_is_scalar(x_94)) {
 x_117 = lean_alloc_ctor(0, 1, 0);
} else {
 x_117 = x_94;
}
lean_ctor_set(x_117, 0, x_116);
return x_117;
}
}
else
{
lean_object* x_118; lean_object* x_119; lean_object* x_120; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_118 = lean_ctor_get(x_92, 0);
lean_inc(x_118);
if (lean_is_exclusive(x_92)) {
 lean_ctor_release(x_92, 0);
 x_119 = x_92;
} else {
 lean_dec_ref(x_92);
 x_119 = lean_box(0);
}
if (lean_is_scalar(x_119)) {
 x_120 = lean_alloc_ctor(1, 1, 0);
} else {
 x_120 = x_119;
}
lean_ctor_set(x_120, 0, x_118);
return x_120;
}
}
else
{
lean_object* x_121; lean_object* x_122; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_121 = lean_box(0);
x_122 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_122, 0, x_121);
return x_122;
}
}
}
else
{
uint8_t x_123; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_123 = !lean_is_exclusive(x_16);
if (x_123 == 0)
{
return x_16;
}
else
{
lean_object* x_124; lean_object* x_125; 
x_124 = lean_ctor_get(x_16, 0);
lean_inc(x_124);
lean_dec(x_16);
x_125 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_125, 0, x_124);
return x_125;
}
}
}
}
else
{
lean_object* x_126; uint8_t x_127; 
x_126 = lean_ctor_get(x_11, 0);
lean_inc(x_126);
lean_dec(x_11);
x_127 = lean_ctor_get_uint8(x_126, sizeof(void*)*10 + 20);
lean_dec(x_126);
if (x_127 == 0)
{
lean_object* x_128; lean_object* x_129; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_128 = lean_box(0);
x_129 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_129, 0, x_128);
return x_129;
}
else
{
lean_object* x_130; 
x_130 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_130) == 0)
{
lean_object* x_131; lean_object* x_132; lean_object* x_133; uint8_t x_134; 
x_131 = lean_ctor_get(x_130, 0);
lean_inc(x_131);
if (lean_is_exclusive(x_130)) {
 lean_ctor_release(x_130, 0);
 x_132 = x_130;
} else {
 lean_dec_ref(x_130);
 x_132 = lean_box(0);
}
x_133 = lean_ctor_get(x_131, 4);
lean_inc_ref(x_133);
lean_dec(x_131);
x_134 = l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg(x_133, x_1);
if (x_134 == 0)
{
lean_object* x_135; 
lean_dec(x_132);
lean_inc(x_9);
lean_inc_ref(x_8);
lean_inc(x_7);
lean_inc_ref(x_6);
lean_inc(x_5);
lean_inc_ref(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc_ref(x_1);
x_135 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_isCutsatType(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_135) == 0)
{
lean_object* x_136; lean_object* x_137; uint8_t x_138; 
x_136 = lean_ctor_get(x_135, 0);
lean_inc(x_136);
if (lean_is_exclusive(x_135)) {
 lean_ctor_release(x_135, 0);
 x_137 = x_135;
} else {
 lean_dec_ref(x_135);
 x_137 = lean_box(0);
}
x_138 = lean_unbox(x_136);
lean_dec(x_136);
if (x_138 == 0)
{
lean_object* x_139; 
lean_dec(x_137);
x_139 = l_Lean_Meta_Grind_Arith_Linear_get_x27___redArg(x_2, x_8);
if (lean_obj_tag(x_139) == 0)
{
lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; 
x_140 = lean_ctor_get(x_139, 0);
lean_inc(x_140);
if (lean_is_exclusive(x_139)) {
 lean_ctor_release(x_139, 0);
 x_141 = x_139;
} else {
 lean_dec_ref(x_139);
 x_141 = lean_box(0);
}
x_142 = lean_ctor_get(x_140, 6);
lean_inc_ref(x_142);
lean_dec(x_140);
x_143 = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Meta_Grind_Arith_Linear_getStructId_x3f_spec__0___redArg(x_142, x_1);
if (lean_obj_tag(x_143) == 1)
{
lean_object* x_144; lean_object* x_145; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_144 = lean_ctor_get(x_143, 0);
lean_inc(x_144);
lean_dec_ref(x_143);
if (lean_is_scalar(x_141)) {
 x_145 = lean_alloc_ctor(0, 1, 0);
} else {
 x_145 = x_141;
}
lean_ctor_set(x_145, 0, x_144);
return x_145;
}
else
{
lean_object* x_146; 
lean_dec(x_143);
lean_dec(x_141);
lean_inc(x_2);
lean_inc_ref(x_1);
x_146 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
if (lean_obj_tag(x_146) == 0)
{
lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; 
x_147 = lean_ctor_get(x_146, 0);
lean_inc(x_147);
lean_dec_ref(x_146);
lean_inc(x_147);
x_148 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___lam__0), 3, 2);
lean_closure_set(x_148, 0, x_1);
lean_closure_set(x_148, 1, x_147);
x_149 = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3;
x_150 = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(x_149, x_148, x_2);
lean_dec(x_2);
if (lean_obj_tag(x_150) == 0)
{
lean_object* x_151; lean_object* x_152; 
if (lean_is_exclusive(x_150)) {
 lean_ctor_release(x_150, 0);
 x_151 = x_150;
} else {
 lean_dec_ref(x_150);
 x_151 = lean_box(0);
}
if (lean_is_scalar(x_151)) {
 x_152 = lean_alloc_ctor(0, 1, 0);
} else {
 x_152 = x_151;
}
lean_ctor_set(x_152, 0, x_147);
return x_152;
}
else
{
lean_object* x_153; lean_object* x_154; lean_object* x_155; 
lean_dec(x_147);
x_153 = lean_ctor_get(x_150, 0);
lean_inc(x_153);
if (lean_is_exclusive(x_150)) {
 lean_ctor_release(x_150, 0);
 x_154 = x_150;
} else {
 lean_dec_ref(x_150);
 x_154 = lean_box(0);
}
if (lean_is_scalar(x_154)) {
 x_155 = lean_alloc_ctor(1, 1, 0);
} else {
 x_155 = x_154;
}
lean_ctor_set(x_155, 0, x_153);
return x_155;
}
}
else
{
lean_dec(x_2);
lean_dec_ref(x_1);
return x_146;
}
}
}
else
{
lean_object* x_156; lean_object* x_157; lean_object* x_158; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_156 = lean_ctor_get(x_139, 0);
lean_inc(x_156);
if (lean_is_exclusive(x_139)) {
 lean_ctor_release(x_139, 0);
 x_157 = x_139;
} else {
 lean_dec_ref(x_139);
 x_157 = lean_box(0);
}
if (lean_is_scalar(x_157)) {
 x_158 = lean_alloc_ctor(1, 1, 0);
} else {
 x_158 = x_157;
}
lean_ctor_set(x_158, 0, x_156);
return x_158;
}
}
else
{
lean_object* x_159; lean_object* x_160; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_159 = lean_box(0);
if (lean_is_scalar(x_137)) {
 x_160 = lean_alloc_ctor(0, 1, 0);
} else {
 x_160 = x_137;
}
lean_ctor_set(x_160, 0, x_159);
return x_160;
}
}
else
{
lean_object* x_161; lean_object* x_162; lean_object* x_163; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_161 = lean_ctor_get(x_135, 0);
lean_inc(x_161);
if (lean_is_exclusive(x_135)) {
 lean_ctor_release(x_135, 0);
 x_162 = x_135;
} else {
 lean_dec_ref(x_135);
 x_162 = lean_box(0);
}
if (lean_is_scalar(x_162)) {
 x_163 = lean_alloc_ctor(1, 1, 0);
} else {
 x_163 = x_162;
}
lean_ctor_set(x_163, 0, x_161);
return x_163;
}
}
else
{
lean_object* x_164; lean_object* x_165; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_164 = lean_box(0);
if (lean_is_scalar(x_132)) {
 x_165 = lean_alloc_ctor(0, 1, 0);
} else {
 x_165 = x_132;
}
lean_ctor_set(x_165, 0, x_164);
return x_165;
}
}
else
{
lean_object* x_166; lean_object* x_167; lean_object* x_168; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_166 = lean_ctor_get(x_130, 0);
lean_inc(x_166);
if (lean_is_exclusive(x_130)) {
 lean_ctor_release(x_130, 0);
 x_167 = x_130;
} else {
 lean_dec_ref(x_130);
 x_167 = lean_box(0);
}
if (lean_is_scalar(x_167)) {
 x_168 = lean_alloc_ctor(1, 1, 0);
} else {
 x_168 = x_167;
}
lean_ctor_set(x_168, 0, x_166);
return x_168;
}
}
}
}
else
{
uint8_t x_169; 
lean_dec(x_9);
lean_dec_ref(x_8);
lean_dec(x_7);
lean_dec_ref(x_6);
lean_dec(x_5);
lean_dec_ref(x_4);
lean_dec(x_3);
lean_dec(x_2);
lean_dec_ref(x_1);
x_169 = !lean_is_exclusive(x_11);
if (x_169 == 0)
{
return x_11;
}
else
{
lean_object* x_170; lean_object* x_171; 
x_170 = lean_ctor_get(x_11, 0);
lean_inc(x_170);
lean_dec(x_11);
x_171 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_171, 0, x_170);
return x_171;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4; lean_object* x_5; 
x_4 = l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0(x_1, x_2, x_3);
lean_dec_ref(x_3);
x_5 = lean_box(x_4);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint8_t x_7; lean_object* x_8; 
x_7 = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec_ref(x_6);
lean_dec_ref(x_3);
lean_dec_ref(x_2);
x_8 = lean_box(x_7);
return x_8;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
size_t x_5; uint8_t x_6; lean_object* x_7; 
x_5 = lean_unbox_usize(x_3);
lean_dec(x_3);
x_6 = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0(x_1, x_2, x_5, x_4);
lean_dec_ref(x_4);
x_7 = lean_box(x_6);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4; 
x_3 = l_Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0___redArg(x_1, x_2);
lean_dec_ref(x_2);
x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
uint8_t x_4; lean_object* x_5; 
x_4 = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0_spec__0___redArg(x_1, x_2, x_3);
lean_dec_ref(x_3);
lean_dec_ref(x_1);
x_5 = lean_box(x_4);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
size_t x_4; uint8_t x_5; lean_object* x_6; 
x_4 = lean_unbox_usize(x_2);
lean_dec(x_2);
x_5 = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_spec__0_spec__0___redArg(x_1, x_4, x_3);
lean_dec_ref(x_3);
x_6 = lean_box(x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
_start:
{
lean_object* x_11; 
x_11 = l_Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
return x_11;
}
}
lean_object* initialize_Lean_Meta_Tactic_Grind_Types(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Simp(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_OrderInsts(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Cutsat_ToInt(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_RingId(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Util(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Var(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Insts(uint8_t builtin);
lean_object* initialize_Init_Grind_Module_Envelope(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Linear_StructId(uint8_t builtin) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Lean_Meta_Tactic_Grind_Types(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Simp(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_OrderInsts(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_Cutsat_ToInt(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_RingId(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Util(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Var(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_Insts(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Grind_Module_Envelope(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkExpectedDefEqMsg___redArg___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_addZeroLtOne___redArg___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__4 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__4();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__4);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__5 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__5();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__5);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__6 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__6();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkRingInst_x3f___redArg___closed__6);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkIntModuleInst_x3f___redArg___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkSemiringInst_x3f___redArg___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOne_x3f___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkOrderedRingInst_x3f___redArg___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_mkNoNatZeroDivInst_x3f___redArg___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntInst___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulNatInst___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getHSMulIntFn_x3f___closed__1);
l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__0 = _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__0();
l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__1 = _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__1();
l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__2 = _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__2();
lean_mark_persistent(l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f_spec__0_spec__0___redArg___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__4 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__4();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__4);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__5 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__5();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__5);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__6 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__6();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__6);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__7 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__7();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__7);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__8 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__8();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__8);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__9 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__9();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__9);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__10 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__10();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__10);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__11 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__11();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__11);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__12 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__12();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__12);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__13 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__13();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__13);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__14 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__14();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__14);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__15);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__16 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__16();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__16);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__17);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__18 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__18();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__18);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__19 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__19();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__19);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__20 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__20();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__20);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__21 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__21();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__21);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__22);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__23 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__23();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__23);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__24);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__25 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__25();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__25);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__26);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__27 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__27();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__27);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__28);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__29 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__29();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__29);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__30);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__31);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__32);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__33);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__34 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__34();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__34);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__35);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__36);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__37 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__37();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__37);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__38);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__39);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__40);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__41 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__41();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__41);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__42);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__43);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__44);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__45);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__46 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__46();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__46);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__47);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__48 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__48();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__48);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__49 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__49();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__49);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__50 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__50();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__50);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__51 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__51();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__51);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__52 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__52();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__52);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__53 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__53();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__53);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__54 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__54();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__54);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__55 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__55();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__55);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__56 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__56();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__56);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__57 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__57();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__57);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__58 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__58();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__58);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__59 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__59();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__59);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__60 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__60();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__60);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__61 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__61();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__61);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__62 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__62();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__62);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__63);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__64 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__64();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__64);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__65);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__66 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__66();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__66);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getStructId_x3f_go_x3f___closed__67);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__0 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__0();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__0);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__1 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__1();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__1);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__2 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__2();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__2);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__3 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__3();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__3);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__4 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__4();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__4);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__5 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__5();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__5);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__6 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__6();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__6);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__7 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__7();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__7);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__8 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__8();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__8);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__9 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__9();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__9);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__10 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__10();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__10);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__11 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__11();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__11);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__12 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__12();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__12);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__13 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__13();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__13);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__14 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__14();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__14);
l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__15 = _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__15();
lean_mark_persistent(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_StructId_0__Lean_Meta_Grind_Arith_Linear_getNatStructId_x3f_go_x3f___closed__15);
return lean_io_result_mk_ok(lean_box(0));
}
#ifdef __cplusplus
}
#endif
